プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle WebLogic ServerメッセージドリブンBeanの開発
12c (12.2.1.3.0)
E90358-02
目次へ移動
目次

前
次

2 MDBのライフサイクル

MDBインスタンスのライフサイクルのフェーズと、ライフサイクルを制御するMDBの構成について調べます。

この章には次の項が含まれます:

概要

MDBは、要求に対する応答が即時である必要のない疎結合(非同期)のビジネス・ロジックを実装します。メッセージドリブンBeanは、JMSキューまたトピックからメッセージを受信し、そのメッセージの内容に基づいてビジネス・ロジックを実行します。それは、EJBとJMSの間の非同期インタフェースです。

メッセージドリブンBeanのインスタンスはすべて同じ機能であり、EJBコンテナはどのMDBインスタンスにもメッセージを割り当てることができます。コンテナは、それらのインスタンスをプールしてメッセージのストリームの並行処理を可能にします。

EJBコンテナは、必要に応じてBeanのインスタンスを作成し、JMSメッセージをインスタンスに渡すことによってメッセージドリブンBeanと直接対話します。コンテナは、デプロイメント時にBeanのインスタンスを作成し、メッセージのトラフィックに基づいて作動時にインスタンスを追加および削除できます。

MDBと並行処理

MDBは、トピックとキューの両方で並行処理をサポートしています。Oracle WebLogic Serverインスタンスでは、各MDBデプロイメントは1つ以上のMDBインスタンス・プール(フリー・プールともいう)を保持します。このプールは、現在リクエストを送信していないMDBインスタンスも保持します。max-beans-in-free-pool属性の値、スレッド・プール内の利用可能なスレッド数、スレッド・プールの種類、およびその他の要因によってフリー・プール内のMDBインスタンスの最大数が決まります。

トピックとキューの詳細は、「MDBとメッセージング・モデル」を参照してください

フリー・プール内のMDBインスタンスの最大数は、複数の要因に依存します。『Oracle WebLogic Serverのパフォーマンスのチューニング』のメッセージドリブンBeanのチューニングに関する項 を参照してください。

MDBデプロイメントに関連付けられたフリー・プールの数は、MDBデプロイメントが接続される宛先の種類に依存します。通常、MDBデプロイメントは、デプロイメントをホストする各Oracle WebLogic Serverインスタンス上で1つのフリー・プールに関連付けられます。ただし、デプロイメントをホストする各Oracle WebLogic Serverインスタンス上では、WebLogic JMS分散宛先に接続したMDBデプロイメントが分散宛先に関連付けられた各物理宛先に対して1つのフリー・プールを持つ場合があります。フリー・プールの数は、EJBコンテナによって自動的に決定されます。JMS宛先に関連付けられたMDBの場合、各MDBフリー・プールは常に1つのJMS接続に対応します。

キュー・ベースのJMSアプリケーション(ポイントツーポイント・モデル)では、各MDBインスタンスは単一の内部JMSセッションを作成し、MDBスレッドに対応します。

トピック・ベースのJMSアプリケーション(パブリッシュ/サブスクライブ・モデル)には単一のインスタンスが必要になり、複数のインスタンス間で単一のJMSセッションを共有するか、または各インスタンスに対してセッションを作成できます。これは、MDBアプリケーション設定、トピックの種類、ワークマネージャ、およびmax-beans-in-free-pool設定によって指定されるメッセージ処理パターンに基づいて、MDBコンテナによって自動的に決定されます。JMSトピックを使用したMDBの構成とデプロイを参照してください。『Oracle WebLogic Serverのパフォーマンスのチューニング』のメッセージドリブンBeanのチューニングに関する項も参照してください。

マルチスレッド・トピックMDBの制限事項

マルチスレッド・トピックMDBの制限事項を調べます。

非トランザクション・トピックMDBのデフォルト動作は、メッセージ処理のマルチスレッド化です。使用時には次のいくつかの制約があります。

  • 外部(WebLogic以外の)トピックを使用して機能する非トランザクション・トピックMDB

  • WebLogic JMSトピックから消費し、WebLogic JMSの順序単位(UOO)の値を持つメッセージを処理する非トランザクション・トピックMDB

詳細は、「MDB同時実行性の制御」注意を参照してください