5.2. Bean 线程池
默认情况下,名为 default 的 bean 线程池用于异步企业 bean 调用和企业 bean 计时器。
从 JBoss EAP 7 开始,远程企业 bean 请求默认在 io 子系统中定义的 worker 中处理。
如果需要,您可以将每个企业 bean 服务配置为使用不同的 bean 线程池。如果您希望精细控制每个服务对 bean 线程池的访问,这将非常有用。
在确定适当的线程池大小时,请考虑您期望的并发请求数将一次处理。
5.2.1. 创建 bean 线程池 复制链接链接已复制到粘贴板!
本节介绍如何使用管理 CLI 创建新的 bean 线程池。您还可以通过从 Configuration 选项卡导航到 Jakarta Enterprise Beans 子系统并在左侧菜单中选择 Container
要创建新线程池,请使用以下命令:
/subsystem=ejb3/thread-pool=POOL_NAME:add(max-threads=MAX_THREADS)
/subsystem=ejb3/thread-pool=POOL_NAME:add(max-threads=MAX_THREADS)
以下示例创建一个名为 my_thread_pool 的 bean 线程池,最大为 30 个线程:
/subsystem=ejb3/thread-pool=my_thread_pool:add(max-threads=30)
/subsystem=ejb3/thread-pool=my_thread_pool:add(max-threads=30)
5.2.2. 配置企业 bean 服务以使用特定的 bean 线程池 复制链接链接已复制到粘贴板!
企业 bean 异步调用服务和计时器服务都可以配置为使用特定的 bean 线程池。默认情况下,这两个服务都使用 默认的 bean 线程池。
本节介绍如何使用管理 CLI 配置上述企业 bean 服务以使用特定的 bean 线程池。您还可以通过从 Configuration 选项卡导航到 Enterprise Bean 子系统,选择 Services 选项卡并选择适当的服务,来使用管理控制台配置这些服务。
要将企业 bean 服务配置为使用特定的 bean 线程池,请使用以下命令:
/subsystem=ejb3/service=SERVICE_NAME:write-attribute(name=thread-pool-name,value=THREAD_POOL_NAME)
/subsystem=ejb3/service=SERVICE_NAME:write-attribute(name=thread-pool-name,value=THREAD_POOL_NAME)
使用您要配置的企业 bean 服务替换 SERVICE_NAME :
-
async用于企业 bean 异步调用服务 -
enterprise bean 计时器服务的
timer-service
以下示例将 enterprise bean async 服务设置为使用名为 my_thread_pool 的 bean 线程池:
/subsystem=ejb3/service=async:write-attribute(name=thread-pool-name,value=my_thread_pool)
/subsystem=ejb3/service=async:write-attribute(name=thread-pool-name,value=my_thread_pool)