GravityManager.getGravity() تُرجع قيمة فارغة
-
13-11-2019 - |
سؤال
أحاول تنفيذ 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>
الآن يمكن العثور على كائن الجاذبية في السياق.
لا تنتمي إلى StackOverflow