メッセージ駆動型 Beanの開発

Enterprise JavaBeans 仕様で導入されたメッセージ駆動型 Bean 用の Bean 実装クラスを作成することができます。 メッセージ駆動型 Bean (MDB) は、ビジネス・ロジックを実装し、サーバー上で実行されるメッセージ・コンシューマーです。

始める前に

トピック、キュー、プロデューサー、およびコンシューマーの使用、パブリッシュやサブスクライブその他に関する、アプリケーションのために必要なメッセージング・モデルを決定します。 Enterprise JavaBeans™ 仕様に記載されているメッセージ駆動型 Bean コンポーネント契約を参照することができます。

このタスクについて

メッセージ駆動型 Bean (MDB) は、Java™ Message Service (JMS) プロバイダーからのメッセージ・コンシューマーです。 MDB がサービスを提供する宛先やエンドポイントにメッセージが到着すると、MDB が呼び出されます。 MDB インスタンスは匿名であり、したがって、すべてのインスタンスは、クライアント・メッセージにアクティブに応えていないときは同等です。 コンテナーは、クライアントに可視である状態を保持しない Bean インスタンスのライフサイクルを制御します。

以下の例は、基本的なメッセージ駆動型 Bean です。

@MessageDriven(activationConfig={
                @ActivationConfigProperty(propertyName="destination",     propertyValue="myDestination"),
                @ActivationConfigProperty(propertyName="destinationType", propertyValue="javax.jms.Queue")
})
public class MsgBean implements javax.jms.MessageListener {

  public void onMessage(javax.jms.Message msg) {

      String receivedMsg = ((TextMessage) msg).getText();
      System.out.println("Received message: " + receivedMsg);

   }

}
他のエンタープライズ Bean タイプと同様、メッセージ駆動型 Bean の場合も、アノテーションを使用するのではなくデプロイメント記述子で、そのメタデータを宣言することができます。以下に例を示します。
<?xml version="1.0" encoding="UTF-8"?>

<ejb-jar id="EJBJar_1060639024453" version="3.0"
      xmlns="http://java.sun.com/xml/ns/javaee"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
      metadata-complete="false">
  	<enterprise-beans>

    <message-driven>

      <ejb-name>MsgBean</ejb-name>
      <ejb-class>com.acme.ejb.MsgBean</ejb-class>
      <activation-config>
         <activation-config-property>
            <activation-config-property-name>destination</activation-config-property-name>
            <activation-config-property-value>myDestination</activation-config-property-value>
         </activation-config-property>
         <activation-config-property>
           <activation-config-property-name>destinationType</activation-config-property-name>
           <activation-config-property-value>javax.jms.Queue</activation-config-property-value>
        </activation-config-property>
      </activation-config>

    </message-driven>

  </enterprise-beans>
</ejb-jar>
注: WebSphere® Application Server バージョン 9 では、destination 活動化構成プロパティーの代わりに destinationLookup プロパティーも使用できます。どちらの活動化構成プロパティーも、MDB の宛先 JNDI 名を設定するという同じ目的を果たします。ただし、両方の活動化プロパティーを構成内に設定した場合は、destinationLookup プロパティーが destination プロパティーより優先されます。

手順

タスクの結果

いくつかのデプロイメント・オプションおよびパッケージ化オプションを含んだ、シンプルなメッセージ駆動型 Bean が作成できました。

次のタスク

メッセージ駆動型 Bean を使用するエンタープライズ・アプリケーションの設計の関連情報を参照してください。

トピックのタイプを示すアイコン タスク・トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tejb_mdb
ファイル名:tejb_mdb.html