TuxedoとWebLogic Serverの間でJoltセッション・プール接続を設定するには、次の2つの手順が必要です。
Tuxedo内でJoltサービス・リスナー(JSL)を設定する手順については、
Oracle Joltの使用を参照してください。
Oracle Joltの使用では、Tuxedoドメイン内ですでにJSLサービスが設定されていることを前提としています。そこでは、WebLogic Serverからこれらのサービスへのセッション・プール接続を確立する方法のみを説明します。
この項では、WebLogic ServerとTuxedoドメインのJSLの間にOracle Jolt接続プールを設定する方法について説明します。使用中のWebLogic Serverから、JSLを実行しているホストにアクセスしている必要があります。
WebLogic Serverは、起動時または再起動時に必ず
PoolManagerStartUpクラスを呼び出すように設定する必要があります。この呼出しにより、次の例に示すように、
config.xmlファイルを基にTuxedoへのプール接続が確立されます。
注意:
|
WebLogic Server 6.0以降の場合、Joltスタートアップ・クラスおよび接続プールの属性は、管理コンソールの構成MBeanを介して設定されます。構成MBeanおよびランタイムMBeanの詳細は、 『Oracle WebLogic Server管理者ガイド』を参照してください。
|
<StartupClass
ClassName="bea.jolt.pool.servlet.weblogic.PoolManagerStartUp"
FailureIsFatal="false"
Name="MyStartup Class"
Targets="myserver"
/>
<JoltConnectionPool
ApplicationPassword="tuxedo"
MaximumPoolSize="5"
MinimumPoolSize="3"
Name="MyJolt Connection Pool"
PrimaryAddresses="//TUXSERVER:6309"
RecvTimeout="300"
SecurityContextEnabled="true"
Targets="myserver"
UserName="joltuser"
UserPassword="jolttest"
UserRole="clt"
/>
この例のスタートアップ・クラスでは、WebLogic Serverに対し、起動時に
PoolManagerStartUpクラスを呼び出すように指示しています。
JoltConnectionPoolは、
PoolManagerStartUpクラスに渡す初期化引数を指定します。いずれかのJSLが強制停止される場合に
SessionPoolが接続を再確立しないようにするには、WebLogic Serverの起動時にJVMプロパティ
jolt.sessionPoolKeepAlive=falseを設定します。
Jolt接続プールの属性は、以下のように定義されます。
|
(オプション)Tuxedoアプリケーションのパスワード。この属性は、Tuxedoの認証レベルが USER_AUTHまたは APP_PWの場合のみ必要です。
|
|
(必須)セッション・プール作成時の初期セッション・プール・サイズを指定します。
|
|
(必須)セッション・プールの最大サイズを指定します。プール内の各セッションは、一度に最大50のリクエストを処理できます。
|
|
(オプション)ほかのセッション・プールの名前と重複しない、このセッション・プールの名前を定義します。この属性は省略可能ですが、混乱を避けるため、使用することをお薦めします。 SessionPoolManagerでは、名前のないセッション・プールを1つだけ使用することができます。アプリケーションからこの名前のないセッション・プールにアクセスするには、 getSessionPool()メソッドの poolname文字列引数のかわりに nullを指定します。
注意:
|
セッション・プールごとに名前を付けることを 強くお薦めします。
|
|
|
(必須) TuxedoシステムのプライマリJoltサーバー・リスナー(JSL)のアドレス・リストを定義します。このリストは、次の形式で定義されます。 //hostname:port hostnameはJSLが実行されているサーバーの名前、 portは、JSLがリクエストをリスニングするように設定されているポートです。セミコロンで区切られたリストを使用して、複数のアドレスを指定することができます。
注意:
|
プライマリJSL hostname:portアドレスを少なくとも1つ指定する必要があります。
|
|
|
(オプション)上記の appaddrlistと同じ形式で、フェイルオーバーのJoltサーバー・リスナーのリストを指定できます。上記のプライマリJSLが異常終了した場合、Joltはここで指定したフェイルオーバー用JSLを使用します。これらのJSLは、プライマリJSLと同じホスト上に存在している必要があります。
|
|
(必須)クライアントがレスポンスを待機する時間を指定します。この時間を過ぎると、タイムアウトが発生します。
|
|
(オプション)この接続プールに対するセキュリティ・コンテキストを有効または無効にします。WebLogic ServerとJoltの間で認証の伝播を実装する場合は、このオプションを有効にしてください。IDの伝播を実装するには、 -aオプションを指定して、Joltサービス・ハンドラ(JSH: Jolt Service Handler)を起動する必要があります。このオプションを設定しないと、SecurityContextが有効の場合、JSHはこのリクエストを受け付けません。SecurityContext属性が有効の場合、Joltクライアントは呼出し側のユーザー名をJSHに渡します。
JSHは、呼出し側のIDが付いたメッセージを取得すると、 impersonate_user()を呼び出してそのユーザーのappkeyを取得します。JSHはappkeyをキャッシュし、呼出し側が次にリクエストしたときに、appkeyをキャッシュから取り出してリクエストがサーバーに転送されるようにします。キャッシュはJSHごとに維持されます。つまり、同じJSHに接続されたすべてのセッション・プールに対して1つのキャッシュが維持されます。
|
|
(必須)接続プールのターゲット・サーバーを指定します。
|
|
(オプション)Tuxedoユーザー名。この属性は、Tuxedoの認証レベルが USER_AUTHの場合のみ必要です。
|
|
(オプション)Tuxedoユーザー・パスワード。この属性は、Tuxedoの認証レベルが USER_AUTHの場合のみ必要です。
|
|
(オプション)Tuxedoアプリケーションのユーザー・ロール。この属性は、Tuxedoの認証レベルが USER_AUTHまたは APP_PWの場合のみ必要です。
|
WebLogic Server上で実行している各アプリケーションに対し、それぞれ1つのJoltセッション・プールを設定することをお薦めします。
WebLogic Serverの停止時にJoltセッション・プールがTuxedoから切断されるようにするには、WebLogic Serverの
config.xmlファイルに以下の行を追加します。
<ShutdownClass
ClassName=���bea.jolt.pool.servlet.weblogic.PoolManager ShutDown.���
/>
停止クラスは、WebLogic Serverが停止されると
PoolManagerShutDownクラスを呼び出すように指示します。
Joltが正しくインストールされ、設定されているWebLogic Serverに接続している場合、管理コンソールを起動すると、
図2-1に示すように、Jolt接続プールの構成MBeanが管理コンソールに表示されます。
各Jolt接続プールには、それぞれの
MBeanがあり、プール名、最大接続数、プールの状態、および接続ステータスに関する統計情報が表示されます。
注意:
|
MBeanの詳細は、 『Oracle WebLogic Server管理者ガイド』を参照してください。
|
WebLogic Serverを再起動せずに、Jolt接続プールをリセットできます。
resetConnectionPool()メソッドは、
SessionPoolManager.stopSessionPool()メソッドを呼び出して、プール内のすべての接続を停止します。次に、
SessionPoolManager.createSessionPool()メソッドを呼び出して、接続プールを再起動します。
resetConnectionPoolメソッドを管理コンソール・コマンド行インタフェースから呼び出すには、次のコマンドを使用します。
java weblogic.Admin -url t3://localhost:7001 -username system -password gumby1234 -invoke -mbean mydomain:Name=myserver.jolt.demojoltpool,Type=JoltConnectionPoolRuntime,Location=myserver -method resetConnectionPool
Jolt接続プールは、以下の方法でGUIコンソールからリセットすることもできます。
1.
|
管理コンソールで、「相互運用性」を展開して「Jolt接続プール」を選択します。
|
2.
|
「Jolt接続プール」ページで、接続プールの名前をクリックします。
|