部署级别的Tomcat线程池?

时间:2014-08-15 21:11:36

标签: multithreading tomcat threadpool workmanagers

问题:限制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。

0 个答案:

没有答案