24.2. 服务器通用线程池
线程池通常用于服务器端的大部分异步操作。它在内部映射到 java.util.concurrent.ThreadPoolExecutor 实例。
此池使用的最大线程数通过使用 thread-pool-max-size 属性来配置。
如果将 thread-pool-max-size 设为 -1,则线程池没有上限,并在没有足够的线程来满足请求时按需创建新的线程。如果稍后的活动细分,则线程超时并关闭。
如果将 thread-pool-max-size 设置为大于零的正整数,则线程池将被绑定。如果请求进入并且池中没有可用线程,请求将停止,直到线程可用为止。建议谨慎使用有界线程池,因为如果上限配置过低,可能会导致死锁情况。
thread-pool-max-size 的默认值为 30。若要为默认的 JBoss EAP 消息传递服务器设置一个新值,可使用以下管理 CLI 命令:
/subsystem=messaging-activemq/server=default:write-attribute(name=thread-pool-max-size,value=40)
/subsystem=messaging-activemq/server=default:write-attribute(name=thread-pool-max-size,value=40)
如需有关未绑定(cached)和绑定(固定)线程池的更多信息,请参阅 ThreadPoolExecutor Javadoc。