这是我遇到的问题,与设计和实现相关:
我有一个接受 POST 请求的 REST Web 服务。没什么特别的。它目前是同步响应的。
但是,此 Web 服务将启动一个可能需要很长时间的后台进程。
我不希望此服务在 30 分钟后响应。
相反,它应该立即向客户端返回一个 ack 响应,仅此而已(即使在 30 分钟后,也不会再发送任何信息)。
如何使用 Jersey 实现这种行为?
我阅读了页面https://jersey.java.net/nonav/documentation/2.0/async.html#d0e6914。
虽然读起来很有趣,但我没有找到只发送 ACK 类型的响应(类似于 HTTP 200 代码)的方法。
也许我对异步和我想要实现的行为感到困惑。
我刚刚明白我可以在我的@POST 方法中创建一个新线程来处理后台进程,并立即返回 ACK 响应。
但是这个新线程在响应发送回客户端后是否存在?
你将如何实现这个 WS ?
我希望你能帮助我澄清这一点。