この章には次の項が含まれます:
メッセージドリブンBeanのインスタンスはすべて同じ機能であり、EJBコンテナはどのMDBインスタンスにもメッセージを割り当てることができます。コンテナは、それらのインスタンスをプールしてメッセージのストリームの並行処理を可能にします。
EJBコンテナは、必要に応じてBeanのインスタンスを作成し、JMSメッセージをインスタンスに渡すことによってメッセージドリブンBeanと直接対話します。コンテナは、デプロイメント時にBeanのインスタンスを作成し、メッセージのトラフィックに基づいて作動時にインスタンスを追加および削除できます。
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のデフォルト動作は、メッセージ処理のマルチスレッド化です。使用時には次のいくつかの制約があります。
外部(WebLogic以外の)トピックを使用して機能する非トランザクション・トピックMDB
WebLogic JMSトピックから消費し、WebLogic JMSの順序単位(UOO)の値を持つメッセージを処理する非トランザクション・トピックMDB
詳細は、「MDB同時実行性の制御」の注意を参照してください