我想问一下从 java servlet 运行一个长进程的最佳方法是什么。我有一个 webapp,当客户端发出请求时,它会运行一个 servlet。这个 servlet 应该从请求中获取一些参数,然后运行一个进程。这个过程可能需要很长时间,所以我需要单独运行它。当这个过程执行完成时,它会发送一封包含结果的电子邮件。
提前致谢。
最佳答案
使用线程池。每次收到请求,就创建一个任务,提交给线程池。这将确保过多的请求不会使服务器崩溃,因为您可以控制可以拥有多少并发线程,以及可以在线程池的等待任务队列中等待多少任务。
请参阅 Executors 的 javadoc和 ThreadPoolExecutor .
关于java - 从 java servlet 运行长进程的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14458463/