Tomcat 配置每个 webapp 的 maxThreads

Tomcat 配置每个 webapp 的 maxThreads

我曾经在 stackoverflow 上问过这个问题。遗憾的是没有回复。不过我觉得这个地方可能更合适。是否可以配置 tomcat 以使用每个 web 应用程序的预定义线程数?这背后的想法是,如果我在 tomcat 上部署了多个应用程序,假设其中一个应用程序有导致死锁的错误。

实际情况是,此应用程序将导致 tomcat 创建新线程,直到达到 maxThreads 设置。此后,将无法再创建线程,这也会影响其他应用程序。最好告诉 tomcat 类似“嘿,每个应用程序只能提供 50 个线程”。如果出现死锁的应用程序达到 50 个线程,它将被阻止,但其他应用程序将保持安全。

谢谢,

库库

答案1

maxThreads 设置在连接器级别指定,因此您可以为每个应用程序定义 1 个连接器,并且每个连接器仅服务一个应用程序。您可能需要一个反向代理,具体取决于您的环境和应用程序需求。

显然,您也可以启动多个 tomcat 实例,尽管从资源角度来看这会更加昂贵,但应用程序之间的完全隔离可能会带来回报。

相关内容