Java 在不同战争之间共享线程池
在Tomcat8服务器中,我们有几个WAR项目需要线程池来执行任务(特别是调度程序和并行处理,以提高性能) 由于每个池都处理自己的线程,它最终向容器中添加了太多线程,因此出现了一个明显的问题:是否可以在Tomcat中以某种方式与多个war项目共享一个线程池 这些池是Java和标准Java的混合体,但我想如果需要,可以将它们标准化为单一类型Java 在不同战争之间共享线程池,java,tomcat,threadpool,war,tomcat8,Java,Tomcat,Threadpool,War,Tomcat8,在Tomcat8服务器中,我们有几个WAR项目需要线程池来执行任务(特别是调度程序和并行处理,以提高性能) 由于每个池都处理自己的线程,它最终向容器中添加了太多线程,因此出现了一个明显的问题:是否可以在Tomcat中以某种方式与多个war项目共享一个线程池 这些池是Java和标准Java的混合体,但我想如果需要,可以将它们标准化为单一类型 PS:如果这样,这真的有帮助吗?如何?您可以将单个线程池配置为全局JNDI资源,然后使用ResourceLink使该资源可供您需要的任意多个或任意少的web应
PS:如果这样,这真的有帮助吗?如何?您可以将单个线程池配置为全局JNDI资源,然后使用ResourceLink使该资源可供您需要的任意多个或任意少的web应用程序使用。您可能需要编写一个简单的自定义资源工厂来实现这一点
Tomcat为一个简单的工厂提供了一个成功的例子。首先,如果你超过了Tomcat的容量,你应该看看你的架构,以确保你不能减少线程的数量。@Zorglube你能解释一下和/或重新措辞一下你的评论吗?请,我实际上不明白你的意思。我只是说,如果你有太多的线程,Tomcat无法处理它:你应该重新设计你的软件架构,以确保你不能用更少的线程来完成这项工作。