Question

J'essaie de mettre en œuvre la gravité des granimés. J'ai tout fait comme dans l'exemple du site Web Graniteds, mais lorsque j'essaie d'obtenir la gravité du contexte du servlet, GravityManager.getGravity renvoie null. Voici le code:

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

Quelle peut être la raison de cette erreur?

Mise à jour:
De 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>

De Services-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>
Était-ce utile?

La solution

Je pense que j'ai trouvé le problème. J'ai changé de partie pour ceci:

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

Maintenant, l'objet Gravity peut être trouvé dans le contexte.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top