Asynchronous 在异步Jax-RS请求中调用定时任务

Asynchronous 在异步Jax-RS请求中调用定时任务,asynchronous,jms,jax-rs,Asynchronous,Jms,Jax Rs,我加入了一个使用Jax-RS的项目(最初也有很多基于Spring的控制器代码,但现在所有URL处理程序都使用Jax-RS)。现在,我们希望能够填充一个任务队列,每个任务之间应该有一个小的延迟。延迟可以在ms中指定。我已经避免了Thread.sleep,因为我听说您不应该在JavaEE中手动管理线程。在我进来之前,已经实现了一个繁忙的等待循环 我想将其切换到异步后台任务。当然,我可以让客户机在给定延迟的情况下轮询服务器,然后只需要一个可以恢复的异步响应。但是同一个异步响应是否可以多次恢复/挂起?该

我加入了一个使用Jax-RS的项目(最初也有很多基于Spring的控制器代码,但现在所有URL处理程序都使用Jax-RS)。现在,我们希望能够填充一个任务队列,每个任务之间应该有一个小的延迟。延迟可以在ms中指定。我已经避免了Thread.sleep,因为我听说您不应该在JavaEE中手动管理线程。在我进来之前,已经实现了一个繁忙的等待循环

我想将其切换到异步后台任务。当然,我可以让客户机在给定延迟的情况下轮询服务器,然后只需要一个可以恢复的异步响应。但是同一个异步响应是否可以多次恢复/挂起?该资源确实具有状态,因此可以完全删除异步,只需执行客户端轮询即可处理所有异步

许多显示异步任务的示例代码都使用Thread.sleep。在ExecutorService或类似服务的后台任务中这样做有多糟糕

延迟的要点是模拟人与人之间的交互,并将一长串JMS消息发布到队列中,但要确保两个侦听器不会拾取和处理相互依赖的消息


在客户端而不是服务器端处理此问题是否更容易/更好?编写一些JavaScript来处理所有轮询将非常简单,因此,如果这对于服务器端处理来说似乎不是一个好主意,那也没什么大不了的。

该工具只供单个用户使用,因为它是一个开发人员测试工具。因此,我们在客户端解决了这个问题,通过AJAX调用将消息推送到队列中。这对我们来说很好,但如果有人有可能帮助其他人的解决方案。请随意放弃一个新答案