Oracle WebLogic ServerでのOracle Joltの使用

     前  次    新規ウィンドウで目次を開く    PDFとして表示 - 新規ウィンドウ  Adobe Readerを取得 - 新規ウィンドウ
コンテンツはここから始まります

Jolt for WebLogic Serverの設定

TuxedoとWebLogic Serverの間でJoltセッション・プール接続を設定するには、次の2つの手順が必要です。

 


Jolt for Tuxedoの設定

Tuxedo内でJoltサービス・リスナー(JSL)を設定する手順については、Oracle Joltの使用を参照してください。Oracle Joltの使用では、Tuxedoドメイン内ですでにJSLサービスが設定されていることを前提としています。そこでは、WebLogic Serverからこれらのサービスへのセッション・プール接続を確立する方法のみを説明します。

 


Jolt for WebLogic Serverの設定

この項では、WebLogic ServerとTuxedoドメインのJSLの間にOracle Jolt接続プールを設定する方法について説明します。使用中のWebLogic Serverから、JSLを実行しているホストにアクセスしている必要があります。

Joltスタートアップ・クラスおよび接続プール

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接続プールの属性

Jolt接続プールの属性は、以下のように定義されます。

Application
Password
(オプション)Tuxedoアプリケーションのパスワード。この属性は、Tuxedoの認証レベルがUSER_AUTHまたはAPP_PWの場合のみ必要です。
MininumPoolSize
(必須)セッション・プール作成時の初期セッション・プール・サイズを指定します。
MaximumPoolSize
(必須)セッション・プールの最大サイズを指定します。プール内の各セッションは、一度に最大50のリクエストを処理できます。
Name
(オプション)ほかのセッション・プールの名前と重複しない、このセッション・プールの名前を定義します。この属性は省略可能ですが、混乱を避けるため、使用することをお薦めします。SessionPoolManagerでは、名前のないセッション・プールを1つだけ使用することができます。アプリケーションからこの名前のないセッション・プールにアクセスするには、getSessionPool()メソッドのpoolname文字列引数のかわりにnullを指定します。

注意: すべてのセッション・プールに名前を付けることをお薦めします。

PrimaryAdresses
(必須) TuxedoシステムのプライマリJoltサーバー・リスナー(JSL)のアドレス・リストを定義します。このリストは、次の形式で定義されます。
//hostname:port
hostnameはJSLが実行されているサーバーの名前、portは、JSLがリクエストをリスニングするように設定されているポートです。セミコロンで区切られたリストを使用して、複数のアドレスを指定することができます。

注意: プライマリJSL hostname:portアドレスを少なくとも1つ指定する必要があります。

Failover
Addresses
(オプション)上記のappaddrlistと同じ形式で、フェイルオーバーのJoltサーバー・リスナーのリストを指定できます。上記のプライマリJSLが異常終了した場合、Joltはここで指定したフェイルオーバー用JSLを使用します。これらのJSLは、プライマリJSLと同じホスト上に存在している必要があります。
RecvTimeout
(必須)クライアントがレスポンスを待機する時間を指定します。この時間を過ぎると、タイムアウトが発生します。
SecurityContextEnabled
(オプション)この接続プールに対するセキュリティ・コンテキストを有効または無効にします。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つのキャッシュが維持されます。
Targets
(必須)接続プールのターゲット・サーバーを指定します。
UserName
(オプション)Tuxedoユーザー名。この属性は、Tuxedoの認証レベルがUSER_AUTHの場合のみ必要です。
UserPassword
(オプション)Tuxedoユーザー・パスワード。この属性は、Tuxedoの認証レベルがUSER_AUTHの場合のみ必要です。
UserRole
(オプション)Tuxedoアプリケーションのユーザー・ロール。この属性は、Tuxedoの認証レベルがUSER_AUTHまたはAPP_PWの場合のみ必要です。

WebLogic Server上で実行している各アプリケーションに対し、それぞれ1つのJoltセッション・プールを設定することをお薦めします。

Jolt停止クラス

WebLogic Serverの停止時にJoltセッション・プールがTuxedoから切断されるようにするには、WebLogic Serverのconfig.xmlファイルに以下の行を追加します。

<ShutdownClass
ClassName=”bea.jolt.pool.servlet.weblogic.PoolManager ShutDown.”
/>

停止クラスは、WebLogic Serverが停止されるとPoolManagerShutDownクラスを呼び出すように指示します。

 


WebLogic管理コンソールでのJoltの表示

Joltが正しくインストールされ、設定されているWebLogic Serverに接続している場合、管理コンソールを起動すると、図2-1に示すように、Jolt接続プールの構成MBeanが管理コンソールに表示されます。

図2-1 WebLogic Serverのコンソールに表示されたJolt接続プール

WebLogic Serverのコンソールに表示されたJolt接続プール

各Jolt接続プールには、それぞれのMBeanがあり、プール名、最大接続数、プールの状態、および接続ステータスに関する統計情報が表示されます。

注意: MBeanの詳細は、『WebLogic Server管理者ガイド』を参照してください。

 


Jolt接続プールのリセット

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接続プールのうち、モニター対象の接続プールをクリックします。
  3. 右側のフレームで「モニター」タブをクリックし、「すべてのアクティブなプールのモニター」リンクをクリックします。コンソールに、設定済みの接続プールがすべて表示されます。
  4. モニターするJolt接続プールの横にある「すべてのインスタンスのモニター」リンクをクリックします。コンソールに、アクティブなJolt接続プールが表示されます。

  5. WebLogic Serverのコンソールに表示されたJolt接続プール

  6. 行の最後にある「このプールをリセット」アイコンをクリックし、接続プールをリセットします。

  先頭に戻る       前  次