如何在Dropwizard中实现websocket

如何在Dropwizard中实现websocket,websocket,dropwizard,Websocket,Dropwizard,我需要用dropwizard项目实现websocket。但是,我找不到任何与之相关的文件。任何人都可以指出同样的资源。我也希望这样做。这是迄今为止我发现的最好的信息: 据推测,最流行的websocket框架之一在Jersey上运行良好(Jersey与Dropwizard捆绑在一起)。您可以在此处找到更多信息: 另外,有人发布了一个将两者集成在一起的存储库:我通过包含Comed将WebSocket实现到Dropwizard项目中 CometD包括一个用于处理WS请求的servlet,Dropwiz

我需要用dropwizard项目实现websocket。但是,我找不到任何与之相关的文件。任何人都可以指出同样的资源。

我也希望这样做。这是迄今为止我发现的最好的信息:

据推测,最流行的websocket框架之一在Jersey上运行良好(Jersey与Dropwizard捆绑在一起)。您可以在此处找到更多信息:


另外,有人发布了一个将两者集成在一起的存储库:

我通过包含Comed将WebSocket实现到Dropwizard项目中

CometD包括一个用于处理WS请求的servlet,Dropwizard公开了该环境以允许您注册任意servlet

我的应用程序(Groovy)的一个小摘录:


初始化器servlet使事情变得简单,如Comet教程所示。

我一直在处理相同的问题,我想与大家分享我的解决方案:

我使用Atmosphere框架,解决方案默认使用WebSocket,但如果需要,可以降级为长轮询


这应该足以让您开始……

这个例子似乎不适合长时间的轮询?我不确定;我从来没有机会尝试过。
    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)