WebLogic Tuxedo Connector 管理ガイド
以下の節では、Tuxedo キュー ブリッジの機能とコンフィグレーションについて説明します。
Tuxedo キュー ブリッジは WebLogic Tuxedo Connector の一部で、Tuxedo アプリケーション環境と通信する WebLogic Server アプリケーションの双方向 JMS インタフェースを提供します。環境間でのメッセージングの転送は、クライアント アプリケーションの代わりにサービスを呼び出すのに使用するテキスト、Byte、または XML データ ストリームを含む JMS ベースのメッセージで構成されます。
図 6-1 キュー ブリッジによる WebLogic Server と Tuxedo の対話
Tuxedo キュー ブリッジの機能は以下のように決定されます。
注意 : すべてのメッセージは、確認応答されるまで JMS キューに保持されます。
この節では、JMS のメッセージが Tuxedo キュー ブリッジを介して Tuxedo キューおよびサービスに渡されるまでの流れを説明します。
TranslateFML
属性の値に従って、XML/FML 変換が実行されます。wlsServerErrorDestination
キューに送られ、メッセージは JMS セッションで確認応答されます。JmsQ2TuxQ
のリダイレクト セットを利用し、JATMI の tpenqueue
を使用して、メッセージが Tuxedo キューに送られます。JmsQ2TuxS
のリダイレクト セットを利用し、JATMI の tpcall
を使用して、メッセージが Tuxedo サービスに送られます。tpenqueue
または tpcall
が失敗した場合、メッセージは Tuxedo キュー ブリッジにより wlsServerErrorDestination
キューに送られ、JMS セッションで確認応答されます。wlsServerErrorDestination
キューがコンフィグレーションされていない場合、メッセージは破棄され、Tuxedo キュー ブリッジは応答確認されていない次のメッセージを処理します。注意 : Tuxedo キュー ブリッジはトランザクションを使用して、Tuxedo /Q から JMS キューへの転送中にメッセージが失われないようにします。
この節では、TuxQ2JmsQ
リダイレクトを利用して、Tuxedo のメッセージが Tuxedo キュー ブリッジを介して JMS キューに渡されるまでの流れを説明します。
tuxErrorDestination
キューに配置されます。 tuxErrorDestination
キューに配置できなかった場合は、エラー ログが記録されて、メッセージは失われます。tuxErrorDestination
キューが指定されていない場合、メッセージは失われます。Tuxedo キュー ブリッジには、次のような制限があります。
Tuxedo キュー ブリッジの接続性は、[WTC サービス] の [Tuxedo キュー ブリッジ] ページおよび [リダイレクト] ページにある属性のコンフィグレーションによって決定されます。これらの属性には、Tuxedo への接続を確立するために必要な情報が含まれています。
WTC サービスの Tuxedo キュー ブリッジおよびリダイレクトがコンフィグレーションされており、対象サーバに WTC サービスがデプロイされている場合、Tuxedo キュー ブリッジは、WebLogic Server アプリケーション環境の一部として起動されます。Tuxedo キュー ブリッジが起動できないようなコンフィグレーション条件が発生した場合は、エラーがログされます。
WebLogic Tuxedo Connector エラーは、WebLogic Server エラー ログにログされます。
注意 : MapMessage、ObjectMessage、StreamMessage の JMS メッセージ タイプは、WebLogic Tuxedo Connector では無効です。これらのメッセージ タイプの 1 つが Tuxedo キュー ブリッジによって受信された場合は、サポートされていないタイプであることを示すログ エントリが作成され、メッセージが破棄されます。
Tuxedo キュー ブリッジは、JMS キューと Tuxedo /Q または JMS キューと Tuxedo サービスのインスタンス間で、一方向のデータ接続を確立します。この接続は、WTC サービスの Tuxedo キュー ブリッジおよびリダイレクトのコンフィグレーションで表され、識別されたポイント間に 1 対 1 の接続を提供します。3 つのタイプの接続がコンフィグレーションできます。次に、各接続タイプについて説明します。
JmsQ2TuxQ
: JMS キューから読み取りを行い、指定された Tuxedo /Q にメッセージを転送します。TuxQ2JmsQ
: Tuxedo /Q から読み取りを行い、JMS にメッセージを転送します。JmsQ2TuxS
: JMS キューから読み取りを行い、同時に指定された Tuxedo サービスを呼び出し、指定された JMS キューに応答を返します。
以下に、各接続タイプのコンフィグレーションの例を紹介します。
以下の節では、JMS キューから読み取りを行い、Tuxedo /Q に送信する、config.xml
ファイルのコンフィグレーションの例を示します。
<WTCtBridgeRedirect
Direction="JmsQ2TuxQ"
Name="redir0"
ReplyQ="RPLYQ"
SourceName="weblogic.jms.Jms2TuxQueue"
TargetAccessPoint="TDOM2"
TargetName="STRING"
TargetQspace="QSPACE"
TranslateFML="NO"/>
次に、JmsQ2TuxQ
コンフィグレーションの各コンポーネントを説明します。
Direction
接続タイプは JmsQ2TuxQ
です。 SourceName
は、読み取る JMS キューの名前が weblogic.jms.Jms2TuxQueue
であることを指定します。Tuxedo キュー ブリッジは、CLIENT_ACKNOWLEDGE セマンティクスを使用して、このキューに JMS クライアント セッションを確立します。 TargetAccessPoint
は、アクセス ポイントの名前が TDOM2
であることを指定します。TargetQspace
は、Qspace の名前が Qspace
であることを指定します。TargetName
は、キューの名前が STRING
であることを指定します。ReplyQ
は、JMS 応答キューの名前が RPLYQ
であることを指定します。このキューを使用すると、tpenqueue
は TMFORWARD
機能を提供します。 TranslateFML
が NO になっていると、Tuxedo キュー ブリッジがデータ変換を提供しないことを指定します。以下の表に、JmsQtoTuxQ メッセージ マッピングの情報を示します。
以下に、Tuxedo /Q から読み取りを行い、JMS キューに送信する、config.xml
ファイルのコンフィグレーションの例を示します。
<WTCtBridgeRedirect
Direction="TuxQ2JmsQ"
Name="redir1"
SourceAccessPoint="TDOM2"
SourceName="STRING"
SourceQspace="QSPACE"
TargetName="weblogic.jms.Tux2JmsQueue"
TranslateFML="NO"/>
次に、TuxQ2JmsQ
コンフィグレーションの各コンポーネントを説明します。
Direction
接続タイプは TuxQ2JmsQ
です。 TargetName
は、読み取る JMS キューの名前が weblogic.jms.Tux2JmsQueue
であることを指定します。SourceAccessPoint
は、アクセス ポイントの名前が TDOM2
であることを指定します。SourceQspace
は、Qspace の名前が Qspace
であることを指定します。SourceName
は、キューの名前が STRING
であることを指定します。TranslateFML
が NO になっていると、Tuxedo キュー ブリッジがデータ変換を提供しないことを指定します。TranslateFML
が Flat になっていると、Tuxedo キュー ブリッジがそのデータを FML から XML に変換することを指定します。以下の表に、TuxQ2JmsQ メッセージ マッピングの情報を示します。
注意 : XML/FML 変換の詳細については、「WebLogic Tuxedo Connector での FML の使用」を参照してください。
次に、JMS キューから読み取りを行い、Tuxedo サービスを呼び出して、結果を JMS キューに返す、config.xml
ファイルのコンフィグレーションの例を示します。
<WTCtBridgeRedirect
Direction="JmsQ2TuxS"
Name="redir0"
ReplyQ="weblogic.jms.Tux2JmsQueue"
SourceName="weblogic.jms.Jms2TuxQueue"
TargetAccessPoint="TDOM2"
TargetName="TOUPPER"
TranslateFML="FLAT"/>
次に、JmsQ2TuxS
コンフィグレーションの各コンポーネントを説明します。
Direction
接続タイプは JmsQ2TuxS
です。 SourceName
は、読み取る JMS キューの名前が weblogic.jms.Jms2TuxQueue
であることを指定します。TargetAccessPoint
は、アクセス ポイントの名前が TDOM2
であることを指定します。TargetName
は、キューの名前が TOUPPER であることを指定します。
ReplyQ
は、JMS 応答キューの名前が weblogic.jms.Tux2JmsQueue であることを指定します。
TranslateFML
が FLAT
になっていると、JMS メッセージの受信時に、メッセージが XML フォーマットで、対応する FML32 データ バッファに変換されることを指定します。メッセージは、引数 TDOM2
および TOUPPER
とともに tpcall
に配置されます。メッセージは FML32 から XML に変換され、weblogic.jms.Tux2JmsQueue
に配置されます。以下の表に、JMSQ2TuxS メッセージ マッピングの情報を示します。
WebLogic Tuxedo Connector では、複数の Tuxedo キュー ブリッジ リダイレクト インスタンスがサポートされています。リダイレクト インスタンスを複数使用すると、多くの環境下でアプリケーションのスケーラビリティおよびパフォーマンスが著しく向上します。ただし、その場合メッセージが処理される順序がランダムになります。優先度のマッピングをしても順序は保証されませんが、割り当てられた重要度に従ってメッセージに対応するメカニズムが提供されます。配信の順序を確実にしたい場合は、Tuxedo キュー ブリッジ リダイレクト インスタンスを 1 つだけ使用してください。
JMS および Tuxedo 間で優先度をマップするには、優先度マッピングを使用します。
この節では、Tuxedo および JMS サブシステム間で優先度をマップするメカニズムについて説明します。 2 つのマッピング方向があります。
次の value
:range
の組み合わせで示すように、すべての値にデフォルトが提供されています。
JmstoTux
- 0:1 | 1:12 | 2:23 | 3:34 | 4:45 | 5:56 | 6:67 | 7:78 | 8:89 | 9:100
TuxtoJms
- 0:1-10|1:11-20|2:21-30|3:31-40|4:41-50|5:51-60|6:61-70|7:71-80|8:81-90|9:91-100
このコンフィグレーションでは、優先度 7 の JMS メッセージが Tuxedo /Q の優先度 78 に割り当てられます。優先度 47 の Tuxedo /Q は、優先度 4 の JMS に割り当てられます。
Tuxedo キュー ブリッジが Tuxedo キューまたは JMS キューからメッセージを受信したときに問題を検出した場合、再試行間隔の後に次の処理が行われます。
[WLS エラー送り先
] キューは、JMS メッセージが Tuxedo エラーまたは変換エラーにより適切に送信できない場合に使用されます。
認識できない JMS メッセージを受信した場合、適切なエラー メッセージがログされ、そのメッセージは破棄されます。これはコンフィグレーション エラーと解釈され、Tuxedo キュー ブリッジはメッセージをエラー キューにリダイレクトしません。
[Tuxedo エラー キュー
] は、TuxQ2JmsQ
のリダイレクト中の JATMI プリミティブ tpdequeue
のエラー キューです。