ヘッダーをスキップ
Oracle® Fusion Middleware Oracle WebLogic Server Tuxedo Connector 管理ガイド
11g リリース 1 (10.3.1)
B55553-01
  目次
目次

戻る
戻る
 
次へ
次へ
 

7 Oracle Tuxedo キュー ブリッジのコンフィグレーション方法

以下の節では、Tuxedo キュー ブリッジの機能とコンフィグレーションについて説明します。

Tuxedo キュー ブリッジの概要

Tuxedo キュー ブリッジは Oracle WebLogic Tuxedo Connector の一部であり、Tuxedo アプリケーション環境と通信する WebLogic Server アプリケーションのために双方向 JMS インタフェースを提供します。環境間でのメッセージングの転送は、クライアント アプリケーションの代わりにサービスを呼び出すのに使用するテキスト、Byte、または XML データ ストリームを含む JMS ベースのメッセージで構成されます。

図 7-1 キュー ブリッジによる WebLogic Server と Tuxedo の対話

図 7-1 の説明については以下を参照
「図 7-1 キュー ブリッジによる WebLogic Server と Tuxedo の対話」の説明

Tuxedo キュー ブリッジの機能は以下のように決定されます。

Tuxedo キュー ブリッジによる JMS から Tuxedo への接続

この節では、JMS のメッセージが Tuxedo キュー ブリッジを介して Tuxedo キューおよびサービスに渡されるまでの流れを説明します。


注意 :

メッセージは、確認応答されるまで JMS キューに保持されます。

  1. Web が有効化された WLPI アプリケーションなどの JMS クライアントにより、Tuxedo で処理されるメッセージが JMS キューに配置されます。このメッセージがトランザクションの一部だった場合、トランザクションがコミットされます。

  2. メッセージが JMS キューから移動し、Tuxedo キュー ブリッジ コンバータで処理されます。

  3. Tuxedo キュー ブリッジ コンバータによりメッセージ タイプがチェックされ、サポートされている JMS メッセージ タイプが JATMI のバッファ タイプに変換されます。

    1. BytesMessage、TextMessage、XML が、それぞれ TypedCArray、TypedString、TypedFML32 に変換されます。TranslateFML 属性の値に従って、XML/FML 変換が実行されます。

    2. 変換エラーが発生した場合、エラーは wlsServerErrorDestination キューに送られ、メッセージは JMS セッションで確認応答されます。

    3. 認識されない JMS メッセージを受信した場合、適宜エラー メッセージがログされ、そのメッセージは確認応答された後、破棄されます。これはコンフィグレーション エラーと解釈され、Tuxedo キュー ブリッジはメッセージをエラー キューにリダイレクトしません。

  4. 変換されたメッセージが、T/Domain ゲートウェイを使用して Tuxedo に送られます。

    1. JmsQ2TuxQ のリダイレクト セットを利用し、JATMI の tpenqueue を使用して、メッセージが Tuxedo キューに送られます。

    2. JmsQ2TuxS のリダイレクト セットを利用し、JATMI の tpcall を使用して、メッセージが Tuxedo サービスに送られます。

  5. tpenqueue または tpcall が成功した場合、戻り値が ReplyQ に置かれます。メッセージが JMS セッションで確認応答されます。

    tpenqueue または tpcall が失敗した場合、メッセージは Tuxedo キュー ブリッジにより wlsServerErrorDestination キューに送られ、JMS セッションで確認応答されます。wlsServerErrorDestination キューがコンフィグレーションされていない場合、メッセージは破棄され、Tuxedo キュー ブリッジは応答確認されていない次のメッセージを処理します。

Tuxedo キュー ブリッジによる Tuxedo から JMS への接続

この節では、TuxQ2JmsQ リダイレクトを利用して、Tuxedo のメッセージが Tuxedo キュー ブリッジを介して JMS キューに渡されるまでの流れを説明します。


注意 :

Tuxedo キュー ブリッジはトランザクションを使用して、Tuxedo /Q から JMS キューへの転送中にメッセージが失われないようにします。

  1. Tuxedo キュー ブリッジにより、Tuxedo キューの使用可能なメッセージがポーリングされます。

  2. Tuxedo サービスにより、メッセージが Tuxedo キューに配置されます。

  3. Tuxedo キュー ブリッジでは、JATMI の tpdequeue を使用して、Tuxedo からメッセージを転送し、JMS キューに配置します。

    • 何らかの理由で、指定された再試行回数を使い果たしてもメッセージが JMS キューにリダイレクトされない場合、メッセージは Tuxedo キューと同じキュー スペースにある tuxErrorDestination キューに配置されます。

    • Tuxedo キュー ブリッジがメッセージを tuxErrorDestination キューに配置できなかった場合は、エラー ログが記録されて、メッセージは失われます。

    • tuxErrorDestination キューが指定されていない場合、メッセージは失われます。

Tuxedo キュー ブリッジの制限

Tuxedo キュー ブリッジには、次のような制限があります。

  • JMS からメッセージを取り出して Tuxedo キューに配置する場合や、Tuxedo サービスを呼び出す場合には、トランザクションは使用されません。

  • Tuxedo キュー ブリッジは、スレッド インテンシブです。JMS キューから Tuxedo へメッセージが転送されるたびに、スレッドが使用されます。コンフィグレーションされている Tuxedo キューをモニタするには、ポーリング スレッドが必要になります。

  • XML/FML 変換は、簡単なメッセージ構造の構築のために行われます。XML から FML への変換の詳細については、『Oracle Fusion Middleware Oracle WebLogic Server Tuxedo Connector プログラマーズ ガイド』の「FML32 の考慮事項」を参照してください。

Tuxedo キュー ブリッジのコンフィグレーション

Tuxedo キュー ブリッジの接続性は、[WTC サービス] の [Tuxedo キュー ブリッジ] ページの [リダイレクト] タブにある属性のコンフィグレーションによって決定されます。これらの属性には、Tuxedo への接続を確立するために必要な情報が含まれています。

完全な Tuxedo キュー ブリッジのコンフィグレーションには、次の条件が必要です。

Tuxedo キュー ブリッジを動的に追加または変更する

通常、Tuxedo キュー ブリッジは、完全な Tuxedo キュー ブリッジのコンフィグレーションが存在し、WTC をデプロイした後にアクティブ化します。Tuxedo キュー ブリッジがアクティブになったら、WTC キュー ブリッジを停止するまでコンフィグレーションに対して追加や変更はできません。

WTC がアクティブ化され、Tuxedo キュー ブリッジが非アクティブ化されている場合、以下のような追加と変更が可能です。

  • WTC キュー ブリッジの追加 (WTC キュー ブリッジ コンフィグレーションがない場合)

  • WTC キュー ブリッジの変更

  • WTC キュー ブリッジの削除

  • WTC リダイレクトの追加

  • WTC リダイレクトの変更

  • WTC リダイレクトの削除

WTC キュー ブリッジのコンフィグレーションを変更したら、変更をアクティブ化する必要があります。


注意 :

Tuxedo キュー ブリッジを動的に追加または変更できるのは、キュー ブリッジがアクティブ化されていない場合のみです。WTC はアクティブ化されていてもかまいませんが、キュー ブリッジは非アクティブ化されている必要があります。WTC キュー ブリッジを停止するには、WTC サーバを非アクティブ化する必要があります。

Tuxedo キュー ブリッジのインスタンス化

Tuxedo キュー ブリッジは、アクティブ化の時点で完全な WTC キュー ブリッジのコンフィグレーションが利用できる場合にのみ起動されます。

WTC キュー ブリッジのコンフィグレーションが完全でない場合は、Tuxedo キュー ブリッジのインスタンスは利用できません。

Tuxedo キュー ブリッジの起動

WTC サービスの Tuxedo キュー ブリッジおよびリダイレクトがコンフィグレーションされており、対象サーバに WTC サービスがデプロイされている場合、Tuxedo キュー ブリッジは、WebLogic Server アプリケーション環境の一部として起動されます。Tuxedo キュー ブリッジが起動できないようなコンフィグレーション条件が発生した場合は、エラーがログされます。

エラーのロギング

Oracle WebLogic Tuxedo Connector エラーは、WebLogic Server エラー ログにログされます。

Tuxedo キュー ブリッジの接続性

Tuxedo キュー ブリッジは、JMS キューと Tuxedo /Q または JMS キューと Tuxedo サービスのインスタンス間で、一方向のデータ接続を確立します。この接続は、WTC サービスの Tuxedo キュー ブリッジのリダイレクト コンフィグレーションで表され、識別されたポイント間に 1 対 1 の接続を提供します。3 つのタイプの接続がコンフィグレーションできます。次に、各接続タイプについて説明します。

接続タイプのコンフィグレーションの例

以下に、各接続タイプのコンフィグレーションの例を紹介します。

JmsQ2TuxQ コンフィグレーションの例

以下の節では、JMS キューから読み取りを行い、Tuxedo /Q に送信する、config.xml ファイルのコンフィグレーションの例を示します。

<wtc-tbridge-redirect>
     <direction>JmsQ2TuxQ</direction>
     <name>redir0</name>
     <reply-q>RPLYQ</reply-q>
     <source-name>weblogic.jms.Jms2TuxQueue</source-name>
     <target-access-point>TDOM2</target-access-point>
     <target-name>STRING</target-name>
     <target-qspace>QSPACE</target-qspace>
     <translate-fml>NO</translate-fml>
</wtc-tbridge-redirect>

次に、JmsQ2TuxQ コンフィグレーションの各コンポーネントを説明します。

  • Direction 接続タイプは JmsQ2TuxQ です。

  • SourceName は、読み取る JMS キューの名前が weblogic.jms.Jms2TuxQueue であることを指定します。Tuxedo キュー ブリッジは、CLIENT_ACKNOWLEDGE セマンティクスを使用して、このキューに JMS クライアント セッションを確立します。

  • TargetAccessPoint は、アクセス ポイントの名前が TDOM2 であることを指定します。

  • TargetQspace は、Qspace の名前が Qspace であることを指定します。

  • TargetName は、キューの名前が STRING であることを指定します。

  • ReplyQ は、JMS 応答キューの名前が RPLYQ であることを指定します。このキューを使用すると、tpenqueueTMFORWARD 機能を提供します。

  • TranslateFMLNO になっていると、Tuxedo キュー ブリッジがデータ変換を提供しないことを指定します。

表 7-1 に、JmsQ2TuxQ メッセージ マッピングの情報を示します。

表 7-1 JmsQ2TuxQ メッセージ マッピング

マッピング元 : JMS メッセージ タイプ マッピング先 : Oracle WebLogic Tuxedo Connector JATMI (Tuxedo)

BytesMessage

TypedCArray

TextMessage (translateFML = NONE)

TypedString

TextMessage (translateFML = FLAT)

TypedFML32


TuxQ2JmsQ コンフィグレーションの例

以下に、Tuxedo /Q から読み取りを行い、JMS キューに送信する、config.xml ファイルのコンフィグレーションの例を示します。

<wtc-tbridge-redirect>
     <direction>TuxQ2JmsQ</direction>
     <name>redir1</name>
     <source-access-point>TDOM2</source-access-point>
     <source-name>STRING</source-name>
     <source-qspace>QSPACE</source-qspace>
     <target-name>weblogic.jms.Tux2JmsQueue</target-name>
     <translate-fml>NO</translate-fml>
</wtc-tbridge-redirect>

次に、TuxQ2JmsQ コンフィグレーションの各コンポーネントを説明します。

  • Direction 接続タイプは TuxQ2JmsQ です。

  • TargetName は、読み取る JMS キューの名前が weblogic.jms.Tux2JmsQueue であることを指定します。

  • SourceAccessPoint は、アクセス ポイントの名前が TDOM2 であることを指定します。

  • SourceQspace は、Qspace の名前が Qspace であることを指定します。

  • SourceName は、キューの名前が STRING であることを指定します。

  • TranslateFML が NO になっていると、Tuxedo キュー ブリッジがデータ変換を提供しないことを指定します。

  • TranslateFML が Flat になっていると、Tuxedo キュー ブリッジがそのデータを FML から XML に変換することを指定します。

表 7-2 に、TuxQ2JmsQ メッセージ マッピングの情報を示します。

表 7-2 TuxQ2JmsQ メッセージ マッピング

マッピング元 : Oracle WebLogic Tuxedo Connector JATMI (Tuxedo) マッピング先 : JMS メッセージ タイプ

TypedCArray

BytesMessage

TypedString (translateFML = NO)

TextMessage

TypedFML32 (translateFML = FLAT)

TextMessage

TypedFML (translateFML = FLAT)

TextMessage

TypedXML

TextMessage


JmsQ2TuxS コンフィグレーションの例

次に、JMS キューから読み取りを行い、Tuxedo サービスを呼び出して、結果を JMS キューに返す、config.xml ファイルのコンフィグレーションの例を示します。

<wtc-tbridge-redirect>
     <direction>JmsQ2TuxS</direction>
     <name>redir0</name>
     <replyq>weblogic.jms.Tux2JmsQueue</replyq>
     <source-name>weblogic.jms.Jms2TuxQueue</source-name>
     <target-access-point>TDOM2</target-access-point>
     <target-name>TOUPPER</target-name>
     <translate-fml>FLAT</translate-fml>
</wtc-tbridge-redirect>

次に、JmsQ2TuxS コンフィグレーションの各コンポーネントを説明します。

  • Direction 接続タイプは JmsQ2TuxS です。

  • SourceName は、読み取る JMS キューの名前が weblogic.jms.Jms2TuxQueue であることを指定します。

  • TargetAccessPoint は、アクセス ポイントの名前が TDOM2 であることを指定します。

  • TargetName は、キューの名前が TOUPPER であることを指定します。

  • ReplyQ は、JMS 応答キューの名前が weblogic.jms.Tux2JmsQueue であることを指定します。

  • TranslateFMLFLAT になっていると、JMS メッセージの受信時に、メッセージが XML フォーマットで、対応する FML32 データ バッファに変換されることを指定します。メッセージは、引数 TDOM2 および TOUPPER とともに tpcall に配置されます。メッセージは FML32 から XML に変換され、weblogic.jms.Tux2JmsQueue に配置されます。

表 7-3 に、JMSQ2TuxS メッセージ マッピングの情報を示します。

表 7-3 JMSQ2TuxS メッセージ マッピング

JMS メッセージ タイプ Oracle WebLogic Tuxedo Connector JATMI (Tuxedo) JMS メッセージ タイプ

BytesMessage

TypedCArray

BytesMessage

TextMessage (translateFML = NONE)

TypedString

TextMessage

TextMessage (translateFML = FLAT)

TypedFML32

TextMessage



注意 :

Tuxedo からの応答の受信時、translateFML パラメータに関係なく、変換が自動的に実行される場合があります。

XML/FML 変換の詳細については、『Oracle Fusion Middleware Oracle WebLogic Server Tuxedo Connector プログラマーズ ガイド』の「WebLogic Tuxedo Connector での FML の使用」を参照してください。

優先度のマッピング

Oracle 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 エラー送り先]

[WLS エラー送り先] キューは、JMS メッセージが Tuxedo エラーまたは変換エラーにより適切に送信できない場合に使用されます。

サポートされていないメッセージ タイプ

認識できない JMS メッセージを受信した場合、適切なエラー メッセージがログされ、そのメッセージは破棄されます。これはコンフィグレーション エラーと解釈され、Tuxedo キュー ブリッジはメッセージをエラー キューにリダイレクトしません。

[Tuxedo エラー キュー]

[Tuxedo エラー キュー] は、TuxQ2JmsQ のリダイレクト中の JATMI プリミティブ tpdequeue のエラー キューです。

制限事項

Tuxedo キュー ブリッジのエラー キューには、次のような制限があります。

  • Tuxedo エラー送り先は一度だけ指定できます。ErrorDestination に関連するエラー キュー名は、すべての QSPACE が使用可能な同じエラー キュー名を持っていることを示します。

  • エラーが発生した場合、メッセージはソース QSPACE に返されます。QSPACE が破損している、またはいっぱいであると判断されると、後続のメッセージは消失します。

  • エラー時にメッセージを破棄するよう指定する方法はありません。すべてのメッセージが受信されるか、まったく受信されません。

  • エラーに関する情報は、サーバ ログでのみ提供されます。