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

前
 
次
 

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です。

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

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

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

  • Target Nameは、キューの名前が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です。

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

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

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

  • Source Nameは、キューの名前が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です。

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

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

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

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

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

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

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

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が破損している、またはいっぱいであると判断されると、後続のメッセージは消失します。

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

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