Jsp 如何通知用户作业已完成

Jsp 如何通知用户作业已完成,jsp,servlets,jakarta-ee,Jsp,Servlets,Jakarta Ee,我想在作业完成时显示一个弹出窗口 我有一个servlet,它使用executor执行长作业。任务可能需要20分钟。当作业完成时,如何在任何jsp视图中显示弹出窗口,此时用户是正确的(会话) 例如,servlet作业中的用户提交表单提交给执行程序,Servlet发送一些响应并重定向到/VIEW1用户使用WEB(/VIEW2/ VIEW3等)的另一个模块,当作业完成后,用户在At/VIEXX时,在页面中间弹出“您的任务超级任务已经完成”。 我知道这是可能的,因为这个机制是在Jira atlasian

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

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

例如,servlet作业中的用户提交表单提交给执行程序,Servlet发送一些响应并重定向到/VIEW1用户使用WEB(/VIEW2/ VIEW3等)的另一个模块,当作业完成后,用户在At/VIEXX时,在页面中间弹出“您的任务超级任务已经完成”。 我知道这是可能的,因为这个机制是在Jira atlasian中实现的
提前感谢

此功能不应在JSP或servlet中完成,您可以编写几行javascript,定期向服务器询问作业的状态。作业完成后,应显示弹出窗口。
如果出于任何原因,您更喜欢使用JSP,那么用户只有在刷新页面时才会得到弹出窗口。

您可以尝试使用JS使用Promissions。 发送新的承诺,它是异步请求,当作业完成时,若出现问题,您将得到一个结果或错误


请看一看(或键入“js promise”)

能否粘贴几行内容,说明如何在executor中启动作业?特别是,如果您使用的是来自atlassian的executor API?或者创建您自己的执行器?首先,我从java.util.concurrent.executor创建executor;ExecutorService ExecutorService=Executors.newFixedThreadPool(10);在应用程序启动时,然后提交任务:executorService.submit(()->{}我认为这是最好的方式。谢谢