问题:限制tomcat容器中每个已部署应用程序的线程数。因此,没有任何部署的组件可以占用所有资源。
在weblogic世界中,我使用了具有最小和最大线程约束的工作管理器,然后为每个部署指定了该应用程序的工作管理器。
我读过关于 Executors 的内容,它可以设置线程约束;但只能在连接器级别。可用的一个愚蠢的技巧是确保我的客户端为单个tomcat实例使用不同的端口,然后为每个 Connector 组织不同的 Executors ,但这似乎效率低下。
问题:有没有比提出的愚蠢想法更好的解决方案?
示例
deploymentA应该分配最少5个线程和最多10个线程
deploymentB应该分配最少10个线程和最多50个线程
愚蠢的解决方案
<Executor name="exeOne" maxThreads="10" minSpareThreads="5" maxQueueSize="10" />
<Executor name="exeTwo" maxThreads="50" minSpareThreads="10" maxQueueSize="10" />
<Connector port="11400" executor="exeOne" />
<Connector port="11500" executor="exeTwo" />
让deploymentA的客户端/用户只调用端口11400。让deploymentB的客户端/用户只调用端口11500。