メッセージ駆動型 Bean の作成

「エンタープライズ Bean の作成」ウィザードを使用して、EJB 2.0 または EJB 2.1 メッセージ駆動型 Bean を作成できます。

メッセージ駆動型 Bean は、Java™ Message Service (JMS) からの非同期メッセージの処理をサポートするために EJB 2.0 において導入されたものです。 EJB 2.1 仕様は、メッセージ駆動型 Bean が JMS だけではなくあらゆるメッセージング・システムをサポートできるように、メッセージ駆動型 Bean の定義を拡張します。 それに応じて、メッセージ駆動型 Bean の定義に使用されるデプロイメント記述子要素は EJB 2.1 仕様で変更されました。EJB 2.1 メッセージ駆動型 Bean 作成のためのウィザードにも、オプションで非 JMS メッセージング・システムとその活動化構成要素を定義するための追加ページが組み込まれています。

EJB 2.0 および EJB 2.1 仕様におけるメッセージ駆動型 Bean デプロイメント記述子のエントリーの例については、『メッセージ駆動型 Bean デプロイメント記述子の例』を参照してください。

EJB 2.0 または EJB 2.1 メッセージ駆動型 Bean の作成手順は次のとおりです。

  1. J2EE パースペクティブで、「ファイル」 > 「新規」 > 「その他」 > 「EJB」 > 「エンタープライズ Bean」 とクリックする。 「エンタープライズ Bean の作成」ウィザードが表示されます。
  2. メッセージ駆動型 Bean」ラジオ・ボタンを選択する。
  3. Bean の追加先とする「EJB コンポーネント」を選択する。 EJB 2.0 もしくは EJB 2.1 プロジェクトを選択できます。
  4. Bean 名」フィールドに、エンタープライズ Bean に割り当てる名前を入力する。 規則により、Bean 名は大文字で始める必要があります。
    注: Bean 名にはユニコード文字を使用できますが、 ユニコード文字は、エンタープライズ Bean に関連付けられたエンタープライズ Bean のパッケージ、およびクラスではサポートされていません。
  5. ソース・フォルダー」フィールドで、新規 Bean 用のソース・フォルダーを選択する。
  6. デフォルト・パッケージ」フィールドに、新規 Bean 用のパッケージ名を入力する。
  7. オプション: 「注釈付き Bean クラスの生成」を選択することもできます。 このオプションを選択すると、ウィザードはその Bean クラスの Java コードの先頭に注釈を生成します。 注釈は、ウィザードで指定したように Bean の実装を定義します。 この注釈は、EJB ツールが、必要な Bean クラスの生成および EJB デプロイメント記述子 (ejb-jar.xml) に挿入される値の提供に使用します。注釈を使い慣れており、デプロイメント記述子よりもむしろ注釈を利用して Bean を更新したい場合は、このオプションを選択してください。 このオプションを選択した場合、その他のオプションが使用できないことがあります。

    詳しくは、『注釈ベース・プログラミングの概要』を参照してください。

  8. 次へ」をクリックする。
  9. EJB 2.1 メッセージ駆動型 Bean について、以下を指定する。
    1. メッセージ駆動型 Bean に使用するメッセージング・サービスを指定する。
      • JMS 型: リスナー・タイプとして javax.jms.MessageListener クラスを使用し、JMS メッセージ・サービスを使用したい場合は、このオプションを選択します。
      • その他の型: 非 JMS もしくはカスタム・メッセージング・サービスを使用したい場合は、このオプションを選択します。 「リスナー・タイプ」フィールドに、リスナー・クラスの完全修飾名を入力します。
    2. 次へ」をクリックする。
    3. メッセージ駆動型 Bean の詳細を指定する。
      注: 非 JMS メッセージング・システムを使用する EJB 2.1 メッセージ駆動型 Bean を作成する場合、オプションの中には使用不可のものもありますが、活動化構成名と値のペアという形で手操作で定義できます。
      • トランザクション型: コンテナーまたは Bean のいずれかが Bean のトランザクションを管理するよう指定できます。
      • Activation Config: 追加のプロパティーを構成する場合、このテーブルを使用します。 定義したそれぞれの名前と値のペアは、<activation-config-property> 要素としてデプロイメント記述子に追加されます。JMS メッセージングを使用する EJB 2.1 メッセージ駆動型 Bean の場合、事前定義のプロパティーは以下のとおりです。
        acknowledgeMode
        値に、Auto-acknowledge および Dups-ok-acknowledge を組み込みます。
        destinationType
        値に、javax.jms.Queue および javax.jms.Topic を組み込みます。
        messageSelector
        値はユーザー指定です。
      • Bean クラス: その Bean クラス用の希望のパッケージおよびクラス名を入力します。 ウィザードでは、デフォルトで、Bean 名と定義したデフォルト・パッケージに基づいた Bean クラスを勧められます。 Bean クラスは、ウィザードが生成した新規クラス、またはプロジェクトのクラスパス内の既存のクラスでも構いません。「クラス」ボタンをクリックして、 Bean 型に対応するプロジェクト内のクラスをリストするダイアログを開きます。 既存のクラスは、ソースを付けて Bean クラス名を青色で表示されます。 既存のバイナリー・クラスの Bean クラス名は、赤色で表示されます。
      • Message Destination Link: 「参照」をクリックして、 メッセージ宛先にリンクします。これにより、message-destination-link 要素がデプロイメント記述子内の Bean に追加されます。注釈付き Bean クラスの生成を選択した場合は、メッセージ宛先リンクは使用不可となります。
    4. 次へ」をクリックする。
    5. オプション: 「Bean スーパークラス」フィールドで、 目的のクラスを入力または選択する。Bean のスーパータイプを選択した場合、このフィールドは使用不可になります。
    6. 「終了」をクリックする。 新規 Bean が生成され、デプロイメント記述子内に定義されます。
  10. EJB 2.0 メッセージ駆動型 Bean について、以下を指定する。
    1. メッセージ駆動型 Bean の詳細を指定する。: JMS 型のメッセージングでは、すべて 2.0 メッセージ駆動型 Bean を使用することが前提です。
      • トランザクション型: コンテナーまたは Bean のいずれかが Bean のトランザクションを管理するよう指定できます。
      • 確認モード: Bean 管理トランザクションの場合、セッションで受け取ったメッセージへの確認方法を指定できます。Auto-acknowledge および Dups-ok-acknowledge から選択できます。
      • Message-driven destination: 「キュー」または 「トピック」「宛先タイプ」を選択します。
        • 「キュー」は、ポイント・ツー・ポイント JMS メッセージング・モデルを使用する場合に選択します。
        • 「トピック」は、パブリッシュ・アンド・サブスクライブ JMS メッセージング・モデルを使用する場合に選択します。
      • 耐久性: メッセージ宛先タイプを「トピック」に設定した場合、 トピックのサブスクリプションが耐久か非耐久かを指定できます。
        • 永続的: サブスクライバーは、JMS により保持される固有 ID で永続サブスクリプションを登録します。 同じ ID を持つ後続のサブスクライバー・オブジェクトは、 それ以前のサブスクライバーによって置かれていた状態のままとなっているサブスクリプションを再開します。 永続サブスクリプションのアクティブ・サブスクライバーがない場合、JMS はサブスクリプションのメッセージを、それらがサブスクリプションによって受信されるか、または期限切れになるまで保持します。
        • 非耐久: サブスクリプションはそれぞれ、 そのサブスクライバー・オブジェクトの存続期間にわたって持続します。 つまり、そのサブスクライバーがアクティブである間だけ、クライアントは、 トピックで公開されたメッセージを見ることができます。 サブスクライバーがアクティブでなければ、クライアントは、そのトピックで公開されたメッセージを見ることができません。
      • Bean クラス: その Bean クラス用の希望のパッケージおよびクラス名を入力します。 ウィザードでは、デフォルトで、Bean 名と定義したデフォルト・パッケージに基づいた Bean クラスを勧められます。 Bean クラスは、ウィザードが生成した新規クラス、またはプロジェクトのクラスパス内の既存のクラスでも構いません。「クラス」ボタンをクリックして、 Bean 型に対応するプロジェクト内のクラスをリストするダイアログを開きます。 既存のクラスは、ソースを付けて Bean クラス名を青色で表示されます。 既存のバイナリー・クラスの Bean クラス名は、赤色で表示されます。
      • メッセージ・セレクター: JMS メッセージ・セレクターは、メッセージ Bean によって受信されるメッセージの判別に使用されます。
    2. 次へ」をクリックする。
    3. オプション: 「Bean スーパークラス」フィールドで、 目的のクラスを入力または選択する。Bean のスーパータイプを選択した場合、このフィールドは使用不可になります。
    4. 「終了」をクリックする。 新規 Bean が生成され、デプロイメント記述子内に定義されます。
EJB デプロイメント記述子エディターの「Bean」ページを利用して Bean を確認したり、追加設定または拡張機能とバインディングを変更または追加できます。

フィードバック