4

我有一个生成响应的球衣服务。我想要做的是轮询一个资源(在我的例子中,一个单例类实例)以获得成功值,一旦我得到成功值,就执行一些操作

@Path("/generate")
class Generation{
    @POST
    @Produces("javax.ws.rs.core.MediaType.TEXT_PLAIN")
    public String generateAndPoll(){
        //Generate response
        /*Polling to start

        */
    return someValue;
    }
}

什么可能是实现这一目标的好方法?计时器有用吗?

4

2 回答 2

2

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

于 2013-10-03T06:57:54.160 回答
0

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

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

于 2015-01-23T19:25:51.287 回答