سؤال

أحاول تنفيذ Gravity من GraniteDS.لقد فعلت كل شيء كما هو الحال في موقع GraniteDS على سبيل المثال، ولكن عندما أحاول الحصول على الجاذبية من سياق servlet، فإن GravityManager.getGravity ترجع فارغة.هنا هو الرمز:

Gravity gravity = GravityManager.getGravity(contextManager.getServletContext());

ماذا يمكن أن يكون سبب هذا الخطأ؟

محدث:
من web.xml:

    <servlet>
        <servlet-name>GravityServlet</servlet-name>
        <servlet-class>org.granite.gravity.tomcat.GravityTomcatServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>GravityServlet</servlet-name>
        <url-pattern>/gravityamf/*</url-pattern>
    </servlet-mapping>

من الخدمات-config.xml:

    <service id="messaging-service" class="flex.messaging.services.MessagingService"
                messageTypes="flex.messaging.messages.AsyncMessage">
                <adapters>
                    <adapter-definition id="default"
                        class="org.granite.gravity.adapters.SimpleServiceAdapter" default="true" />
                </adapters>

                <destination id="Gravity">
                    <channels>
                        <channel ref="my-gravityamf" />
                    </channels>
                </destination>
            </service>
<channels>
        <channel-definition id="my-graniteamf"
            class="mx.messaging.channels.AMFChannel">
            <endpoint
                uri="http://{server.name}:{server.port}/{context.root}/graniteamf/amf"
                class="flex.messaging.endpoints.AMFEndpoint" />
        </channel-definition>

        <channel-definition id="my-gravityamf"
            class="org.granite.gravity.channels.GravityChannel">
            <endpoint
                uri="http://{server.name}:{server.port}/{context.root}/gravityamf/amf"
                class="flex.messaging.endpoints.AMFEndpoint" />
        </channel-definition>
    </channels>
هل كانت مفيدة؟

المحلول

أعتقد أنني وجدت المشكلة.لقد غيرت الجزء لهذا:

<servlet>
        <servlet-name>GravityServlet</servlet-name>
        <servlet-class>org.granite.gravity.servlet3.GravityAsyncServlet</servlet-class> 
        <load-on-startup>1</load-on-startup>
    </servlet>

الآن يمكن العثور على كائن الجاذبية في السياق.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top