gpt4 book ai didi

java - Spring 4在异步任务完成时更改jsp

转载 作者:行者123 更新时间:2023-12-02 04:10:20 27 4
gpt4 key购买 nike

我正在开发一个 spring 4 mvc 应用程序,并且我有一个必须在后台完成的数据库事务。

当调用 URL /paramters_selected 时,它会被触发。然后 Controller 启动一个异步任务,该任务需要几分钟的时间。在处理任务时,我返回“processing”,以便 Controller 方法将呈现 /processing - JSP View 。当后台任务完成时,应该呈现“结果” View 。

是否可以在后台事务完成时调用 /result?如果可以的话,该如何完成?此外,是否可以不断更新“处理” View ,以便可以使用某种进度条?

此外,什么样的“技术”最适合解决这个问题?我在 Spring 中遇到了异步方法、Completable future、deferredresult 和 Listenablefuture 等术语。

提前谢谢您。

最佳答案

如果您使用异步,那么我建议您不要等待服务器的结果,最好在一段时间后继续刷新状态,或者创建回调,继续监听服务器对异步任务的响应。

如果您使用进度条直到异步任务完成,我想您的意思是在请求发送到异步任务后仅在 UI 和 HTTP 连接中显示该请求已完成,否则保留资源不好,因为它会影响性能系统的进程和其他等待资源的任务最终都会因为没有空闲资源而死亡。

因此,对于异步任务,您可以使用任何 Java 消息队列,其中您的任务将推送到 JMS 队列,异步任务将从 JMS 队列保留双端队列,一旦任务完成,就会以通知的形式向原始任务发送响应.

关于java - Spring 4在异步任务完成时更改jsp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33859590/

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