Google app engine 现场砖和通道存在服务(GAE);正常servlet也有问题

Google app engine 现场砖和通道存在服务(GAE);正常servlet也有问题,google-app-engine,servlets,channel-api,sitebricks,Google App Engine,Servlets,Channel Api,Sitebricks,在我的Java Google App Engine服务器应用程序中,我想启用Channel Presence servlet,以便使用Channel API跟踪与我的频道之间的连接/断开连接(如上所述。我已经编辑了我的WEB-INF/appengine WEB.xml文件,如前所述 我的应用程序中的大多数servlet使用Sitebricks,而不是扩展HttpServlet的类,为我在应用程序中创建REST端点提供了一种简单的方法。但是,在我的类中使用Sitebricks似乎不起作用,因为当U

在我的Java Google App Engine服务器应用程序中,我想启用Channel Presence servlet,以便使用Channel API跟踪与我的频道之间的连接/断开连接(如上所述。我已经编辑了我的
WEB-INF/appengine WEB.xml
文件,如前所述

我的应用程序中的大多数servlet使用Sitebricks,而不是扩展HttpServlet的类,为我在应用程序中创建REST端点提供了一种简单的方法。但是,在我的类中使用Sitebricks似乎不起作用,因为当URL被点击时,我得到了
警告:找不到:/\u ah/channel/connected/
的文件:

@At("/_ah/channel")
@Service
public class MyChannelPresenceServlet {
    ...
    @Post("/connected")
    public void connectedMethod() {
        ...
    }

    @Post("/disconnected")
    public void disconnectedMethod() {
        ...
    }
    ...
}
我是否有任何方法可以使用Sitebricks为频道状态、为
/-ah/Channel/connected/
/\u ah/Channel/disconnected/
提供REST URL端点

奖金问题 假设Sitebricks不是解决方案,相反,我需要坚持使用普通的servlet类,
扩展HttpServlet
,并通过
WEB-INF/WEB.xml
进行配置。另一种解决方案对我仍然不起作用。假设我要将其放入我的WEB.xml文件中:

<servlet>
    <servlet-name>channel_connect</servlet-name>
    <servlet-class>com.example.PresenceServlet</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>channel_connect</servlet-name>
    <url-pattern>/_ah/channel/connected/</url-pattern>
</servlet-mapping>
非常感谢所有的帮助,尤其是来自谷歌员工的帮助

(注:我正在使用GAE SDK 1.7.2。我急切地等待1.7.3的发布)


更新 我还尝试了一个实验。在我的servlet类的web.xml的
标记中,我添加了这个标记,以便在服务器启动时强制加载我的servlet(顺便说一下,在我的示例中,这是使用
mvn gae:run
完成的)。现在我得到了这个输出

WARNING: /_ah/channel/connected/: javax.servlet.UnavailableException: java.lang.InstantiationException: com.ea.pogosocial.rest.ChannelServiceServlet

如果还有人在乎


问题是,我既不能使用Sitebricks也不能使用Guice Injection来处理对通道状态服务URI的POST请求的Servlet。一旦我将两者都删除,该Servlet就会像一个符咒一样工作。

如果还有人关心


问题是,我既不能使用Sitebricks也不能使用Guice Injection来处理对通道状态服务URI的POST请求。一旦我删除了这两个,该Servlet就像一个符咒一样工作。

Hmm这太糟糕了。GAE似乎在反思Servlet链,试图发现一个注册的ha用于/_ah/通道的ndler/*

免责声明:我是Sitebricks和Guice Servlet的创建者,因此我觉得这相当令人沮丧。有一次我在GAE中实现了通道设置,我成功地直接使用通道API:

嗯,这太糟糕了。GAE似乎在反思servlet链,试图为/\u ah/通道发现一个已注册的处理程序/*

免责声明:我是Sitebricks和Guice Servlet的创建者,因此我觉得这相当令人沮丧。有一次我在GAE中实现了通道设置,我成功地直接使用通道API:

很高兴看到主角自己回复!我希望谷歌能更频繁地回复!很高兴看到主角自己回复!我希望谷歌能更频繁地回复!
WARNING: /_ah/channel/connected/: javax.servlet.UnavailableException: java.lang.InstantiationException: com.ea.pogosocial.rest.ChannelServiceServlet