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

过程 23.7. 用管理控制台为 Message-Driven Bean 分配 Bean 池

  1. 点击屏幕顶部的 Configuration 标签页。展开 Connector 菜单并选择 EJB 3。然后选择 Container 标签页。
  2. 点击 Edit
  3. 从合适的组合框里为每种 Bean 选择 Bean 池。
  4. 点击Save完成。

过程 23.8. 用 CLI 为 Message-Driven Bean 分配 Bean 池

  1. 登录 CLI 工具并连接到您的服务器。请参考 第 3.5.4 节 “用管理 CLI 连接受管服务器实例”
  2. 请使用 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
  3. 使用 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>