Oracle WebLogic Server での Oracle Jolt の使用

     前  次    新しいウィンドウで目次を開く     
ここから内容の開始

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 スタートアップ クラスおよび接続プールの属性は、Administration Console のコンフィグレーション 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 Administration Console での Jolt の表示

Jolt が正しくインストールされ、設定されている WebLogic Server に接続している場合、Administration Console を起動すると、図 2-1 に示すように、Jolt 接続プールのコンフィグレーション MBean が Administration Console に表示されます。

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

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

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

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

 


Jolt 接続プールのリセット

WebLogic Server を再起動せずに、Jolt 接続プールをリセットできます。resetConnectionPool() メソッドは、SessionPoolManager.stopSessionPool() メソッドを呼び出して、プール内のすべての接続を停止します。次に、SessionPoolManager.createSessionPool() メソッドを呼び出して、接続プールを再起動します。

コマンドラインを使用する方法

resetConnectionPool メソッドを Administration Console コマンドライン インタフェースから呼び出すには、次のコマンドを使用します。

java weblogic.Admin -url t3://localhost:7001 -username system -password gumby1234 -invoke -mbean mydomain:Name=myserver.jolt.demojoltpool,Type=JoltConnectionPoolRuntime,Location=myserver -method resetConnectionPool

Administration Console を使用する方法

Jolt 接続プールは、以下の方法で GUI コンソールからリセットすることもできます。

  1. 左側のフレームの [サービス] の下にある Jolt サービス フォルダをクリックします。
  2. 設定済み Jolt 接続プールのうち、モニタ対象の接続プールをクリックします。
  3. 右側のフレームで [モニタ] タブをクリックし、[すべてのアクティブなプールのモニタ] リンクをクリックします。コンソールに、設定済みの接続プールがすべて表示されます。
  4. モニタする Jolt 接続プールの横にある [すべてのインスタンスのモニタ] リンクをクリックします。コンソールに、アクティブな Jolt 接続プールが表示されます。

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

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

  ページの先頭       前  次