如何在完成工作时通知用户

时间:2018-07-21 08:34:20

标签: jsp servlets java-ee

我想在作业完成后显示一个弹出窗口。

我有一个servlet,它正在使用executor执行长作业。任务可能需要20分钟,当作业完成到用户这次正确的任何jsp视图时,如何显示弹出窗口?

例如,用户在servlet作业中提交表单已提交给执行者,servlet发送一些响应并重定向到/ view1,用户在作业完成且用户位于/ viewX时正在使用另一个Web模块(/ view2 / view3等)他在页面中间会弹出“您的任务 SUPER TASK 已完成”。

我知道可以这样做,因为此机制是在Jira atlasian中实现的 预先谢谢你

2 个答案:

答案 0 :(得分:0)

不应在JSP或Servlet中完成此功能,您可以编写几行javascript,这些javascript会定期向服务器询问作业状态。作业完成后,应显示弹出窗口。 如果出于某种原因您更愿意在JSP中执行此操作,则只有刷新页面的用户才能看到弹出窗口。

答案 1 :(得分:0)

您可以尝试通过JS使用Promise。 发送新的promise,它是异步请求,当作业完成时,如果出现问题,您会得到结果或错误。

请查看https://codeburst.io/javascript-learn-promises-f1eaa00c5461(或仅输入'js promise')