我已經到JBoss 7.2.0 standalone.xml創造了一個有界隊列線程池終止如下:界隊列線程池中的線程沒有得到在JBoss關機
<subsystem xmlns="urn:jboss:domain:threads:1.1">
<bounded-queue-thread-pool name="myThreadPool">
<core-threads count="6000"/>
<queue-length count="1000"/>
<max-threads count="6000"/>
<keepalive-time time="60" unit="seconds"/>
</bounded-queue-thread-pool>
</subsystem>
後,我使用此,如AJP連接器執行如下:
<connector name="conn1" protocol="AJP/1.3" scheme="http" socket-binding="conn1" enabled="true" max-post-size="0" executor="myThreadPool" max-connections="2000"/>
<connector name="conn2" protocol="AJP/1.3" scheme="http" socket-binding="conn2" enabled="true" executor="myThreadPool" max-connections="2000"/>
<connector name="conn3" protocol="AJP/1.3" scheme="http" socket-binding="conn3" enabled="true" executor="myThreadPool" max-connections="2000"/>
在結束時,插座連接器3的結合:
<socket-binding name="conn1" port="15007"/>
<socket-binding name="conn2" port="15008"/>
<socket-binding name="conn3" port="15009"/>
W¯¯當我啓動jboss並創建多個http請求時,每個請求線程創建爲myThreadPool-threads-1
,myThreadPool-threads-2
等。但是,當我使用命令行關閉jboss時,這些線程不會終止。這裏是我用來關機的命令:
%JBOSS_HOME%\bin\jboss-cli.bat --connect controller=10.10.54.85:9999 --commands=:shutdown
由於這個原因,jboss-AS的java進程沒有被終止。但是,當我簡單地從connector
中刪除executor
時,java進程已成功終止。有人可以建議我在服務器關閉時如何終止threadPool的所有線程?