23.2.5. 为 Session 和 Message-Driven Bean 分配 Bean 池
JBoss 管理员可以通过管理控制台或 CLI 分别为 Session Bean 或 Message-driven Bean 分配独立的 Bean 池。
默认情况下有两种 Bean 池,分别用于 stateless session bean 的
slsb-strict-max-pool
和用于 message-driven bean 的 mdb-strict-max-pool
。
要创建或编辑 bean 池,请参考 第 23.2.2 节 “创建 Bean 池” 和 第 23.2.4 节 “编辑 Bean 池”。
过程 23.7. 用管理控制台为 Message-Driven Bean 分配 Bean 池
- 登陆到管理控制台。第 3.4.2 节 “登录到管理控制台”
- 点击屏幕顶部的标签页。展开 菜单并选择 。然后选择 标签页。
- 点击。
- 从合适的组合框里为每种 Bean 选择 Bean 池。
- 点击完成。
过程 23.8. 用 CLI 为 Message-Driven Bean 分配 Bean 池
- 登录 CLI 工具并连接到您的服务器。请参考 第 3.5.4 节 “用管理 CLI 连接受管服务器实例”。
- 请使用
write-attribute
命令和下列语法。/subsystem=ejb3:write-attribute(name="BEANTYPE", value="BEANPOOL")
- 对于 Message-Driven Bean,用
default-mdb-instance-pool
替换 BEANTYPE,而对于 stateless session bean 则使用default-slsb-instance-pool
。 - 用分配的 Bean 池的名称替换 BEANPOOL。
- 使用
read-resource
操作来确认修改。/subsystem=ejb3:read-resource
例 23.5. 用 CLI 为 Session Bean 分配 Bean 池
[standalone@localhost:9999 /] /subsystem=ejb3:write-attribute(name="default-slsb-instance-pool", value="LV_SLSB_POOL") {"outcome" => "success"} [standalone@localhost:9999 /]
例 23.6. XML 配置示例
<subsystem xmlns="urn:jboss:domain:ejb3:1.2"> <session-bean> <stateless> <bean-instance-pool-ref pool-name="slsb-strict-max-pool"/> </stateless> <stateful default-access-timeout="5000" cache-ref="simple"/> <singleton default-access-timeout="5000"/> </session-bean> <mdb> <resource-adapter-ref resource-adapter-name="hornetq-ra"/> <bean-instance-pool-ref pool-name="mdb-strict-max-pool"/> </mdb> </subsystem>