4.4. 管理线程池服务

4.4.1. 在配置文件中配置

用到线程池的服务有Muxer, JMSServer 等。如果没有为某个特定服务配置线程池,则使用默认的公共线程池,即名为apusic:service=ThreadPool,name=default的线程池。

默认的公共线程池配置

...
<SERVICE
    CLASS="com.apusic.util.ThreadPoolService"
    NAME="apusic:service=ThreadPool,name=default"
    >
    <ATTRIBUTE NAME="MinSpareThreads" VALUE="5"/>
    <ATTRIBUTE NAME="MaxSpareThreads" VALUE="30"/>
    <ATTRIBUTE NAME="MaxThreads" VALUE="-1"/>
    <ATTRIBUTE NAME="MaxQueueSize" VALUE="500"/>
    <ATTRIBUTE NAME="IdleTimeout" VALUE="60"/>
</SERVICE>
...
      
属性描述值类型缺省值
MinSpareThreads此属性决定线程池中的最小备用线程数。整型5
MaxSpareThreads此属性决定线程池中的最大备用线程数。整型30
MaxThreads此属性决定线程池所能提供的最大线程数,-1表示不限数量。整型-1
MaxQueueSize此属性决定等待获取线程队列的最大长度。整型500
IdleTimeout等待超时时间。当线程池中的某个线程等待被使用的实际时间超过此属性数值时,线程池自动关闭此线程。整型,单位为秒60

多路复用线程池配置:

... 
<SERVICE
    CLASS="com.apusic.util.ThreadPoolService"
    NAME="apusic:service=ThreadPool,name=MuxHandler"
    >
    <ATTRIBUTE NAME="MinSpareThreads" VALUE="5"/>
    <ATTRIBUTE NAME="MaxSpareThreads" VALUE="10"/>
    <ATTRIBUTE NAME="MaxThreads" VALUE="10"/>
    <ATTRIBUTE NAME="MaxQueueSize" VALUE="500"/>
    <ATTRIBUTE NAME="IdleTimeout" VALUE="60"/>
</SERVICE>
...

属性描述值类型缺省值
MinSpareThreads此属性决定线程池中的最小备用线程数。整型5
MaxSpareThreads此属性决定线程池中的最大备用线程数。整型10
MaxThreads此属性决定线程池所能提供的最大线程数,-1表示不限数量。整型10
MaxQueueSize此属性决定等待获取线程队列的最大长度。整型500
IdleTimeout等待超时时间。当线程池中的某个线程等待被使用的实际时间超过此属性数值时,线程池自动关闭此线程。整型,单位为秒60

JMS线程池配置:

...
<SERVICE
    CLASS="com.apusic.util.ThreadPoolService"
    NAME="apusic:service=ThreadPool,name=JMSHandler"
    >
    <ATTRIBUTE NAME="MinSpareThreads" VALUE="10"/>
    <ATTRIBUTE NAME="MaxSpareThreads" VALUE="30"/>
    <ATTRIBUTE NAME="MaxThreads" VALUE="30"/>
    <ATTRIBUTE NAME="MaxQueueSize" VALUE="500"/>
    <ATTRIBUTE NAME="IdleTimeout" VALUE="60"/>
</SERVICE>
...

属性描述值类型缺省值
MinSpareThreads此属性决定线程池中的最小备用线程数。整型10
MaxSpareThreads此属性决定线程池中的最大备用线程数。整型30
MaxThreads此属性决定线程池所能提供的最大线程数,-1表示不限数量。整型30
MaxQueueSize此属性决定等待获取线程队列的最大长度。整型500
IdleTimeout等待超时时间。当线程池中的某个线程等待被使用的实际时间超过此属性数值时,线程池自动关闭此线程。整型,单位为秒60

4.4.2. 使用 AMQ 管理工具进行配置

使用管理工具对线程池服务进行配置时,只能配置登录的服务器,无法配置远程的服务器。双击登录节点的线程池服务,通过该页面可以对登录服务器的线程池服务进行配置,配置完提交更新之后,需要重启配置的线程池才能使其生效。

AMQ管理工具

图 4.3. AMQ管理工具