0
私はGraniteDSからGravityを実装しようとしています。私はGraniteDSウェブサイトの例のようにすべてをやったが、サーブレットコンテキストから重力を得ようとするとき、GravityManager.getGravityはnullを返す。コードは次のとおりです。GravityManager.getGravity()がnullを返します
Gravity gravity = GravityManager.getGravity(contextManager.getServletContext());
このエラーの原因は何ですか?
UPD: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>
'contextManager.getServletContext();'が有効な値を返すことを確認しましたか? –
はい、あります。 ServletContextAwareインターフェースを使って問題なく動作します。 – Mikhail
あなたはこのリンクを参照しましたかhttp://www.graniteds.org/confluence/display/DOC/4.+Data+Push+(Gravity)? – Triode