リスナー・ポートのサーバー・セッション・プールのモニター

サーバー・セッション・プールのモニターを使用可能にして、サーバー・セッションに適用されるタイムアウト値を定義することにより、サーバー・セッションが使用するリソースの数を最小化することができます。

このタスクについて

各リスナー・ポートで 1 つ以上のサーバー・セッションを使用しますが、これはサーバー・セッション・プールに保持されます。各サーバー・セッションは、JMS セッションに関連付けられます。この JMS セッションは、リスナー・ポートが使用するように構成されている JMS 接続ファクトリーに関連付けられた JMS セッション・プールから取得されます。

デフォルトで、サーバー・セッション・プールのモニターは無効です。リスナー・ポートがサーバー・セッションを使用する際、リスナー・ポートは、シャットダウンされるまで、そのサーバー・セッションをサーバー・セッション・プールから解放しません。すなわち、たとえリスナー・ポートがメッセージを 1 つも処理していない場合でもリスナー・ポートがシャットダウンされるまでは、関連付けられた JMS セッションが解放されて JMS セッション・プールに入ることはありません。その結果、JMS セッションが使用するリソース (例えば TCP/IP 接続など) が長時間保留になり、リソースに制約のあるシステムでは問題が生じる場合があります。

サーバー・セッションが使用するリソースの数を最小化するには、サーバー・セッション・プールをモニターする必要があります。サーバー・セッション・プールのモニターを使用可能に設定すると、リスナー・ポートが使用する各サーバー・セッション・プール内の各サーバー・セッションがモニターされて、 サーバー・セッションが最後に使用されてからの経過時間が測定されます。経過時間が設定したタイムアウト値より大きい場合、そのサーバー・セッションは、サーバー・セッション・プールから除去されて、関連付けられた JMS セッションが JMS セッション・プールに返されます。返された JMS セッションは、JMS セッション・プールの設定に応じて、別のアプリケーションで再使用するか、またはクローズできます。また、JMS プロバイダーによっては、追加のプール・メカニズムを構成することもできます。

注: メッセージ・リスナー・サービスが Application Server Facilities 以外のモード (非 ASF モード) で動作している場合、すなわち、NON.ASF.RECEIVE.TIMEOUT メッセージ・リスナー・サービス・カスタム・プロパティーがゼロ以外の値に設定されている場合には、サーバー・セッション・プールのモニターは使用できません。

[z/OS]z/OS システムでは、非 ASF モードを選択できません。

手順

例として、リスナー・ポート lp1 と lp2 を使用して構成されているアプリケーション・サーバーを考えてみます。

以下のルールが適用されます。
プロパティーが設定されていない
プロパティーが 1 つも設定されていない場合、サーバー・セッション・プールのモニターは使用不可に設定されて、サーバー・セッションで使用される JMS セッションは、リスナー・ポート (lp1 または lp2) あるいは、それに関連付けられているメッセージ駆動型 Bean がシャットダウンされるまで、JMS セッション・プールに返されません。
SERVER.SESSION.POOL.REAP.TIME および SERVER.SESSION.POOL.UNUSED.TIMEOUT が設定されている
例として、以下の設定を考えてみます。
  • SERVER.SESSION.POOL.REAP.TIME=60
  • SERVER.SESSION.POOL.UNUSED.TIMEOUT=120
どちらのリスナー・ポート (lp1 および lp2) のサーバー・セッション・プールも、60 秒毎に、非アクティブなサーバー・セッションがないかを検査されます。 サーバー・セッションが 120 秒より長い間、非アクティブであることが検出された場合、サーバー・セッションはサーバー・セッション・プールから除去され、JMS セッションは JMS セッション・プールに返されます。SERVER.SESSION.POOL.REAP.TIME 値を考慮すると、サーバー・セッションが最後に使用された 2 分後から 3 分後の間に、サーバー・セッション・プールをセッション・プールから除去できます。
SERVER.SESSION.POOL.REAP.TIME および SERVER.SESSION.POOL.UNUSED.TIMEOUT が設定されていて、 SERVER.SESSION.POOL.UNUSED.TIMEOUT.lpname の設定をオーバーライドしている
例として、以下の設定を考えてみます。
  • SERVER.SESSION.POOL.REAP.TIME=60
  • SERVER.SESSION.POOL.UNUSED.TIMEOUT=120
  • SERVER.SESSION.POOL.UNUSED.TIMEOUT.lp2=-1
  • SERVER.SESSION.POOL.UNUSED.TIMEOUT.lp1=60
リスナー・ポート lp2 のサーバー・セッション・プールは、タイムアウト値が負の値であるため、検査されません。リスナー・ポート lp1 のサーバー・セッション・プールで、60 秒間より長く非アクティブであるサーバー・セッションはすべて、サーバー・セッション・プールから除去されます。

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



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