gpt4 book ai didi

multithreading - Java EE响应客户端但继续处理

转载 作者:行者123 更新时间:2023-12-03 13:00:49 25 4
gpt4 key购买 nike

我刚刚开始使用Java EE构建Web服务。
这些中的大多数都非常简单,因为它们获得了请求,进行了一些工作并返回了结果。一旦结果返回给客户端,它就会死亡。

现在,我需要能够响应客户端,以表明它的请求已被接收并且正在处理中,但是我不想在发送请求后结束webservice线程。我需要它在响应后进行一些处理,例如将请求发送到其他Web服务。然后,客户将例行轮询以获取结果。这将由另一个Web服务调用线程处理。

我不确定在Java EE中是否可行。我通常只使用TCP套接字的xml完成​​此操作。

最佳答案

从Java EE 6开始,可以将EJB的方法定义为异步的:请参见Asynchronous Method Invocation。因此,您的例程将是从处理Web服务的bean中调用异步bean,以触发漫长的过程的开始,然后返回到客户端。然后,您可以通过其他Web服务方法查询此过程的结果。

在Java EE 5中,虽然不是直接实现,但也可以使用timer tasks来实现。但是,不可能自动查询此类任务的结果,因此您必须对其进行设计,以便将其状态保存在数据库中,其他bean可以从该数据库中读取它的状态。

关于multithreading - Java EE响应客户端但继续处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9177402/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com