GravityManager.Getgravity () Restituisce NULL
-
13-11-2019 - |
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>
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.