Red Hat Training

A Red Hat training course is available for Red Hat JBoss Enterprise Application Platform

21.2.5. セッションおよびメッセージ駆動型 Bean に対する Bean プールの割り当て

JBoss 管理者は、セッション Bean およびメッセージ駆動型 Bean によって使用される個別の Bean プールを割り当てることができます。管理コンソールまたは管理 CLI を使用すると Bean プールを割り当てることができます。
デフォルトでは、ステートレスセッション Bean とメッセージ駆動型 Bean の slsb-strict-max-poolmdb-strict-max-pool の 2 つの Bean プールが提供されます。
Bean プールを作成または編集するには、「Bean プールの作成」 および 「Bean プールの編集」 を参照してください。
また、EJB で @Pool アノテーションを使用して、その EJB に使用するプールを特定できます。
注記
特定の EJB で @Pool アノテーションを使用すると、管理インターフェースを使用して指定されたデフォルト設定が上書きされます。

手順21.7 管理コンソールを使用したセッションおよびメッセージ駆動型 Bean に対する Bean プールの割り当て

  1. 管理コンソールへログインします。「管理コンソールへのログイン」
  2. 画面上部の Configuration タブをクリックします。Container メニューを展開し、EJB 3 を選択します。Container タブを選択します。
  3. Edit をクリックします。
  4. 適切なコンボボックスから、Bean の各タイプに使用する Bean プールを選択します。
  5. Save をクリックして終了します。

手順21.8 CLI を使用したセッションおよびメッセージ駆動型 Bean に対する Bean プールの割り当て

  1. CLI ツールを起動し、サーバーに接続します。「管理 CLI を使用した管理対象サーバーインスタンスへの接続」 を参照してください。
  2. 次の構文で write-attribute 操作を使用します。
    /subsystem=ejb3:write-attribute(name="BEANTYPE", value="BEANPOOL")
    • BEANTYPE は、メッセージ駆動型 Bean の default-mdb-instance-pool、ステートレスセッション Bean の default-slsb-instance-pool に置き換えます。
    • BEANPOOL を割り当てる Bean プールの名前に置き換えます。
  3. read-resource 操作を使用して変更を確認します。
    /subsystem=ejb3:read-resource

例21.5 CLI を使用したセッション Bean に対する Bean プールの割り当て

[standalone@localhost:9999 /] /subsystem=ejb3:write-attribute(name="default-slsb-instance-pool", value="LV_SLSB_POOL")  
{"outcome" => "success"}

例21.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>

手順21.9 @Pool アノテーションを使用したセッションまたはメッセージ駆動型 Bean に対する Bean プールの割り当て

  1. @Pool アノテーションを Bean に追加し、使用される Bean プールの名前を指定します。
    @Stateless
    @Pool("slsb-strict-max-pool")
    public class HelloBean implements HelloBeanRemote {
    これにより、管理インターフェースで作成されたデフォルト設定が上書きされます。
  2. @org.jboss.ejb3.annotation.Pool アノテーションは JBoss EJB3 外部 API の一部であり、依存関係として追加する必要があります。Maven を使用している場合は、以下の依存関係を pom.xml ファイルに追加する必要があります。
    <dependency>
      <groupId>org.jboss.ejb3</groupId>
      <artifactId>jboss-ejb3-ext-api</artifactId>
      <version>2.1.0</version>
    </dependency>