我需要用dropwizard项目实现websocket。然而,我找不到任何与之相关的文件。任何人都可以指出同样的资源吗。
我一直在处理同样的问题,我想分享我的解决方案:http://cvwjensen.wordpress.com/2014/08/02/websockets-in-dropwizard/
我使用Atmosphere框架,解决方案默认使用websocket,但如果需要,可以降级为长轮询。
这应该足以让你开始。。。
我也想这么做。这是我迄今为止发现的最好的信息:
据推测,目前最流行的websocket框架之一与Jersey配合良好(Jersey与Dropwizard捆绑在一起)。你可以在这里找到更多关于它的信息:https://github.com/Atmosphere/atmosphere
此外,有人发布了一个将两者集成在一起的存储库:https://github.com/mgutz/dropwizard-atmosphere/
我通过包含CometD将websocket实现到Dropwizard项目中。
CometD包括一个用于处理WS请求的servlet,Dropwizard公开了环境,允许您注册任意servlet。
我的应用程序(Groovy)的一个小摘录:
environment.addServlet(new Initializer(httpClient, amqpConsumer), "/_initializer")
.setInitOrder(2)
environment.addServlet(AnnotationCometdServlet, "/cometd/*")
.addInitParams([
transports: 'org.cometd.websocket.server.WebSocketTransport',
services: EventService.getCanonicalName(),
jsonContext: 'org.cometd.server.JacksonJSONContextServer',
maxSessionsPerBrowser: serviceConfiguration.maxBrowserSessions.toString(),
maxInterval: '7200',
logLevel: "2"
]).setInitOrder(1)
初始化器servlet使事情变得简单,如CometD教程中所示。