GravityManager.getGravity () возвращает ноль - PullRequest
0 голосов
/ 27 февраля 2012

Я пытаюсь реализовать Gravity от GraniteDS. Я сделал все как в примере с сайта GraniteDS, но когда я пытаюсь получить гравитацию из контекста сервлета, GravityManager.getGravity возвращает ноль. Вот код:

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>

Из 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>

1 Ответ

0 голосов
/ 28 февраля 2012

Я думаю, что нашел проблему.Я изменил часть для этого:

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

Теперь объект Gravity можно найти в контексте.

...