Java jsp/servlet应用程序中的延迟作业

Java jsp/servlet应用程序中的延迟作业,java,jsp,tomcat,servlets,Java,Jsp,Tomcat,Servlets,我的应用程序中有一个用于上传文件的servlet。然后我想处理文件,这可能需要5分钟。通过将此代码放在servlet中,我是否有可能阻止传入的请求?无论哪种方式,我想我更喜欢创建一个后台作业来处理文件。处理这个问题的最佳方法是什么?我的应用程序正在Tomcat上运行。我建议在这里使用多线程: 一个线程将负责读取文件的每一行,并将其插入BlockingQueue以便进行处理。 另一个线程将从此队列中获取元素并对其进行处理。 为了实现这个多线程工作,最好使用ExecutorService接口并传递可

我的应用程序中有一个用于上传文件的servlet。然后我想处理文件,这可能需要5分钟。通过将此代码放在servlet中,我是否有可能阻止传入的请求?无论哪种方式,我想我更喜欢创建一个后台作业来处理文件。处理这个问题的最佳方法是什么?我的应用程序正在Tomcat上运行。

我建议在这里使用多线程:

一个线程将负责读取文件的每一行,并将其插入BlockingQueue以便进行处理。 另一个线程将从此队列中获取元素并对其进行处理。 为了实现这个多线程工作,最好使用ExecutorService接口并传递可运行实例,每个实例都应该实现每个任务。记住只有一个任务来读取文件


我建议永远不要在servlet中做繁重的工作。相反,触发一个异步任务,例如通过JMS调用创建一个线程来读写每个请求的文件