java - 从 java servlet 运行长进程的最佳方法是什么?

标签 java servlets process

我想问一下从 java servlet 运行一个长进程的最佳方法是什么。我有一个 webapp,当客户端发出请求时,它会运行一个 servlet。这个 servlet 应该从请求中获取一些参数,然后运行一个进程。这个过程可能需要很长时间,所以我需要单独运行它。当这个过程执行完成时,它会发送一封包含结果的电子邮件。

提前致谢。

最佳答案

使用线程池。每次收到请求,就创建一个任务,提交给线程池。这将确保过多的请求不会使服务器崩溃,因为您可以控制可以拥有多少并发线程,以及可以在线程池的等待任务队列中等待多少任务。

请参阅 Executors 的 javadoc和 ThreadPoolExecutor .

关于java - 从 java servlet 运行长进程的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14458463/

相关文章:

用于验证印度语言字符的 Java REGEX 代码不起作用?

java - 将 servlet 部署到应用程序引擎后出现 500 服务器错误

c - C 中使用 fork() 和命令行参数的并行进程

java - 为什么我无法以这种方式关闭我的 JAR 可执行文件?

java - 错误架构更新 :237 - near "from": syntax error

java - 为什么 LibGDX SpriteBatch 使用三角形而不是四边形?

java - 将项目添加到 ArrayAdapter<String>

eclipse - Servlet 初始化参数总是显示为空

java - 为什么 httpServletRequest.getLocalPort 总是返回与 getServerPort 相同的值?

java - 难道每个线程都不需要自己的 JVM 副本吗?