<!-- 将tomcat servlet.xml 这句话注释去掉就可以了 -->
<
Executor
name
=
"tomcatThreadPool"
<!--线程名称-->
namePrefix="catalina-exec-"
maxThreads="150"
<!--最大处理连接数线程-->
minSpareThreads="4" />
<!--保留最少线程数-->
<!-- 将原有的Connector 替换为带有线程池的Connector如下,其实servlet.xml已经有了,只要打开就可以了,将原来的去掉 -->
<
Connector
executor
=
"tomcatThreadPool"
port
=
"8080"
protocol
=
"HTTP/1.1"
connectionTimeout
=
"20000"
redirectPort
=
"8443"
minProcessors
=
"5"
<!-- 同时处理请求的最小数 -->
maxProcessors="75"
<!-- 同时处理请求的最大数 -->
acceptCount="1000" />
<!-- 接受最大并发数量 ,超过这个数量就会返回连接被拒绝 -->
下面显示了Executor的属性。
属性:className、含义:Executor实现的完全限定的Java类名、默认值:org.apache.catalina.core.StandardThread-Executor。
属性:daemon、含义:决定这一Executor的线程是否应该为后台线程。如果JVM中的所有其他非后台线程都结束了,则后台线程结束。
要获得有关后台线程的详细解释,参见java.lang.Thread的Java 1.5(及更高版本)Javadoc网页、默认值:false。
属性:name、含义:共享线程池的名字。这是Connector为了共享线程池要引用的名字。该名字必须唯一、默认值:None;需要的参数。
属性:namePrefix、含义:在JVM上,每个运行线程都可以有一个name 字符串。这一属性为线程池中每个线程的name字符串设置了一个前缀,Tomcat将把线程号追加到这一前缀的后面、默认值:tomcat-exec-。
属性:maxIdleTime、含义:在Tomcat关闭一个空闲线程之前,允许空闲线程持续的时间(以毫秒为单位)。只有当前活跃的线程数大于minSpareThread的值,才会关闭空闲线程、默认值:60000(一分钟)。
属性:maxThreads、含义:该线程池可以容纳的最大线程数、默认值:200。
属性:minSpareThreads、含义:Tomcat应该始终打开的最小不活跃线程数、默认值:25。
属性:threadPriority、含义:整数值,表示线程池中所有线程的线程优先权。