我确信这很简单,但我不记得遇到过一个在其文档、API 和版本之间存在更多差异的库。(尽管平心而论,我确信它们存在!)据我查看的资源可以看出,我认为这非常接近“当前”,但我遇到了一个错误(没有 AtmosphereHandler 映射请求 /path/to/service/point) 并且需要一些关于我接下来应该尝试的指导。
我可以重新发布详细版本,但简而言之......
1)web.xml 有这个 servlet 条目(来自最新的?git chat 示例):
<servlet>
<description>AtmosphereServlet</description>
<servlet-name>AtmosphereServlet</servlet-name>
<servlet-class>org.atmosphere.cpr.AtmosphereServlet</servlet-class>
<async-supported>true</async-supported>
<init-param>
<param-name>org.atmosphere.cpr.Broadcaster.supportOutOfOrderBroadcast</param-name>
<param-value>false</param-value>
</init-param>
<!--<init-param>-->
<!--<param-name>org.atmosphere.cpr.broadcasterClass</param-name>-->
<!--<param-value>org.atmosphere.util.SimpleBroadcaster</param-value>-->
<!--</init-param>-->
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>AtmosphereServlet</servlet-name>
<url-pattern>/path/to/service/point</url-pattern>
</servlet-mapping>
2)网络应用程序具有此类定义(在 Scala 中):
@AtmosphereHandlerService(path = "/path/to/service/point")
class MyCustomAtmoHandler extends AtmosphereHandler with Logging with OtherStuff {
override def onRequest {...}
override def onStateChange {...}
override def destroy {...}
注意:我用作指南的文档不包含注释参数“路径” - 我必须添加它才能使其编译。
编辑:这是使用 Jetty 版本 9.0.4.v20130625