我有一个生成响应的球衣服务。我想要做的是轮询资源(在我的情况下,单例类实例)获取成功值,并且一旦我获得成功值,执行一些操作
@Path("/generate")
class Generation{
@POST
@Produces("javax.ws.rs.core.MediaType.TEXT_PLAIN")
public String generateAndPoll(){
//Generate response
/*Polling to start
*/
return someValue;
}
}
什么是实现这一目标的好方法?计时器有用吗?
答案 0 :(得分:2)
从Jersey 2.3.1开始,添加了一项新功能来支持服务器发送的事件。对于您的用例,您可能需要阅读更多Jersey documentation
答案 1 :(得分:0)
如果您不介意使用外部库,我已经使用了几年的氛围,这是一个伟大的服务器推/彗星实现。它几乎支持服务器,是的,它将取决于服务器。它们原生支持长轮询和websockets。几乎整个服务都可以配置几个注释。以下是如何在球衣2服务中使用它的示例。