很多时候,java web应用程序中的http servlet会调用一些长时间运行的进程。一个典型的例子是,将100个mp3文件转换为flak格式(只是一个随机的例子)。 http连接将处于活动状态,但由于该过程需要很长时间,我们可以构建一些进度条以显示在网页上(最好是uisng ajax),它指示任务的进度。这应该是什么样的设计模式?比方说,Servlet的post方法会调用实际的长期过程,而Servlet的get方法会调用进度监听器吗?
答案 0 :(得分:4)
在Java EE中,我建议使用以下结构:
@Asynchronous
EJB调用来处理繁重的负载,以便开始进行长时间的处理请注意,自EJB 3.1以来@Asynchronous
可用。