如何使用泽西岛服务轮询资源



我有一个泽西服务可以生成响应。 我想做的是轮询资源(在我的例子中是单例类实例)以获取成功值,并在获得成功值后立即执行一些操作

@Path("/generate")
class Generation{
    @POST
    @Produces("javax.ws.rs.core.MediaType.TEXT_PLAIN")
    public String generateAndPoll(){
        //Generate response
        /*Polling to start
        */
    return someValue;
    }
}
实现这一目标

的好方法是什么?计时器有什么用吗?

从 Jersey 2.3.1 开始,添加了一项新功能来支持服务器发送的事件。对于您的用例,您可能希望阅读更多 Jersey 文档

如果您不介意使用外部库,我已经使用 atmosphere 几年了,这是一个很好的服务器推送/彗星实现。它几乎支持任何服务器,是的,它将取决于服务器。它们原生支持长轮询和 websocket。几乎整个服务都可以通过几个注释进行配置。以下是如何在球衣 2 服务上使用它的示例。

https://github.com/Atmosphere/atmosphere-samples/blob/master/samples/jersey2-chat/src/main/java/org/atmosphere/samples/chat/jersey/Jersey2Resource.java

相关内容

  • 没有找到相关文章

最新更新