使用Jersey的Java异步REST Web服务?

我需要实现一个Java REST Web服务(我们使用Jersey框架),它基本上都可以

一个。 在返回响应之前阻止等待某个事件(或事件的轮询)。 提供某种aysnc行为以在处理请求时通知客户端。

我正在考虑返回transationID,并且有一个/ status端点,客户端应该轮询该端点以确定是否处理了请求并获得特定结果。

有任何想法吗?

Alan,正确的做法是使用HTTP的202 Accepted返回代码,并在响应正文中包含一个指向客户端可以轮询的页面的链接,以检查请求的状态。

在machine2machine上下文中,您需要为这些响应设计媒体类型(或微格式等),以便机器客户端可以“理解”它们。

见http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.2.3

也许还会为此目的查看几乎标准化的新HTTP链接头。

http://tools.ietf.org/html/draft-nottingham-http-link-header-03

一月

您可能会发现这很有趣: 具有较长执行时间的REST请求方法