是否可以获取请求触发的流程状态。
假设,我有一个请求,它将触发长时间运行的进程,比如复制服务器端的某些文件,或者其他一些非常长时间运行的进程。现在我想向用户显示该任务的完成百分比。
如何在Java Servlet或任何其他支持此功能的框架中执行此操作?
我的想法是向页面发送连续响应。但这可能是不可能的。请帮我解决这个问题。
感谢。
答案 0 :(得分:0)
一种解决方案是创建另一个servlet,将百分比提供为json(您可以将其存储在会话对象中),然后使用javascript定期从该servlet轮询信息并直接显示它们。
这篇文章可能对您有所帮助:
答案 1 :(得分:0)
您可以按照上面显示的模型进行操作。有两个servlet用于启动处理,另一个用于报告处理的状态。 Process Controller类将维护进程的状态以及启动/将进程置于队列中。
调用Start Processing servlet启动进程并返回表示进程的唯一ID
JS / JQuery可用于使用上述UID定期请求Get Processing Progress servlet以了解进度。