如何在Dropwizard中实现websocket



我需要用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教程中所示。

相关内容

  • 没有找到相关文章

最新更新