Domanda

Sto cercando di implementare la gravità da graniti.Ho fatto tutto come nell'esempio dal sito di Graniteds, ma quando sto cercando di ottenere la gravità dal contesto del servlet, gravitymanager.getagravity ritorna null.Ecco il codice:

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

Quale può essere il motivo di questo errore?

UPD UGG:
Da 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>
.

da servizi-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>
.

È stato utile?

Soluzione

Penso di aver trovato il problema.Ho cambiato parte per questo:

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

Ora l'oggetto Gravity può essere trovato nel contesto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top