Tomcat线程池梳理
warning:
这篇文章距离上次修改已过433天,其中的内容可能已经有所变动。
Tomcat的线程池设置可以通过修改server.xml配置文件中的<Executor>元素进行配置。以下是一个<Executor>配置的例子:
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
maxThreads="200" minSpareThreads="20" maxIdleTime="60000"
maxQueueSize="Integer.MAX_VALUE"
prestartminSpareThreads="false"
threadPriority="5"
className="org.apache.catalina.core.StandardThreadExecutor" />在这个例子中:
name: 线程池的名字,在多个连接器配置中可以共享一个线程池。namePrefix: 线程的名字前缀,用于日志记录和诊断。maxThreads: 线程池中最大线程数。minSpareThreads: 线程池中保持的最小空闲线程数。maxIdleTime: 超过这个时间(毫秒)的线程将被终止。maxQueueSize: 在拒绝新任务之前,可以放入队列中的最大请求数。prestartminSpareThreads: 是否在Tomcat启动时就创建minSpareThreads指定的线程。threadPriority: 线程的优先级。className: 线程池实现的完全限定类名。
要在Connector中使用这个线程池,需要在server.xml中的Connector元素引用这个线程池:
<Connector executor="tomcatThreadPool"
port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />在Connector的executor属性中指定线程池的名字。这样就配置了一个名为tomcatThreadPool的线程池,并在Connector中使用了它。
评论已关闭