ヘッダーをスキップ

Oracle Containers for J2EE Enterprise JavaBeans開発者ガイド
10g(10.1.3.1.0)

B31852-03
目次
目次
索引
索引

戻る 次へ

9 EJB 3.0メッセージドリブンBeanの実装

この章では、EJB 3.0メッセージドリブンBean(MDB)の実装方法を説明します。

詳細は、次を参照してください。

EJB 3.0 MDBの実装

EJB 3.0では、Enterprise Beanの開発が大幅に単純化され、多くの複雑な開発タスクが排除されています。次に例を示します。

詳細は、「メッセージドリブンBeanとは」を参照してください。


注意

EJB 3.0メッセージドリブンBeanのコード例は、http://www.oracle.com/technology/tech/java/oc4j/10131/
how_to/how-to-ejb30-mdb/doc/how-to-ejb30-mdb.htmlからダウンロードできます。 


EJB 3.0メッセージドリブンBeanを実装するには、次のようにします。

  1. メッセージ・サービス・プロバイダを構成します。

    詳細は、次を参照してください。

  2. メッセージドリブンBeanクラスを作成します。

    POJOを作成し、@MessageDrivenアノテーションを使用してそれをメッセージドリブンBeanとして定義できます。


    注意

    OC4Jでは、@MessageDrivenの属性mappedNameは無視されます。 


  3. メッセージ・サービス・プロバイダ情報を構成します。

    この情報は、@ActivationConfigPropertyアノテーションで定義できます。

    詳細は、次を参照してください。

  4. MessageDrivenContextのデータ・メンバーを追加します。

    getterおよびsetterメソッドを使用しなくても、リソース・インジェクションを使用してこのデータ・メンバーを簡単に初期化できます。

  5. 適切なメッセージ・リスナー・インタフェースを実装します。

    JMSメッセージドリブンBeanでは、javax.jms.MessageListenerインタフェースを実装してonMessagesメソッドに次のシグネチャを提供します。

    public void onMessage(javax.jms.Message message)
    
    

    このメソッドは、着信メッセージを処理します。ほとんどのMDBは、メッセージをキューまたはトピックから受信し、メッセージ内のリクエストを処理するために、エンティティBeanを起動します。

    このメソッドでは、TimedObjectインタフェースを実装した場合(手順6を参照)は、MessageDrivenContextを使用してjavax.ejb.TimerServiceを取得および構成できます。

  6. オプションで、javax.ejb.TimedObjectインタフェースを実装します。

    次のシグネチャを持つejbTimeoutメソッドを実装します。

    public void ejbTimeout(javax.ejb.Timer timer)
    
    
  7. オプションで、適切なアノテーションを使用してライフ・サイクル・コールバック・メソッドを定義します。

    ライフ・サイクル・メソッドを定義する必要はありません。このようなメソッドの実装はすべてOC4Jに用意されています。メッセージドリブンBeanのライフ・サイクルの特定の時点で独自のアクションを実行する場合にのみ、メッセージドリブンBeanクラスのメソッドをライフ・サイクル・コールバック・メソッドとして定義します。

    詳細は、「EJB 3.0 MDBのライフ・サイクル・コールバック・インターセプタ・メソッドの構成」を参照してください。

  8. オプションで、OC4J固有のデプロイ・オプションを定義します。

    EJB 3.0アプリケーションでこれを行うには、メッセージドリブンBeanクラスにOC4J固有のoracle.j2ee.ejb.@MessageDrivenDeploymentアノテーションを付けます(「EJB 3.0 MDBのOC4J固有のデプロイ・オプションの構成」を参照)。

  9. メッセージドリブンBeanの構成を完了します(第10章「EJB 3.0メッセージドリブンBeanの使用方法」を参照)。


戻る 次へ
Oracle
Copyright © 2002, 2008 Oracle Corporation.

All Rights Reserved.
目次
目次
索引
索引