![]() |
![]() |
|
|
| |
tBridge のコンフィグレーション
注意: WebLogic Tuxedo Connector XML コンフィグレーション ファイル、要素と属性、および wtc_config.dtd
に関する詳細なリファレンス情報については、
wtc_config.dtdを参照してください。
この章では、tBridge の機能とコンフィグレーションについて説明します。
tBridge の概要
tBridge は WebLogic Tuxedo Connector の一部で、Tuxedo アプリケーション環境と通信する WebLogic Server アプリケーションの双方向 JMS インタフェースを提供します。環境間でのメッセージングの転送は、クライアント アプリケーションの代わりにサービスを呼び出すのに使用するテキスト、Byte、または XML データ ストリームを含む JMS ベースのメッセージで構成されます。
次の機能は、tBridge の機能を決定します。
tBridge
セクションにあるパラメータのコンフィグレーションによって決定されます。追加のアプリケーション プログラミングは必要ありません。
tBridge が JMS と Tuxedo を接続する仕組み
注意: メッセージはすべて、確認応答されるまで JMS キューに残っています。
ここでは、JMS メッセージが tBridge を通して Tuxedo のキューとサービスまで送られる仕組みについて説明します。
TranslateFML
属性に従って行われます。
wlsServerErrorDestination
キューに送信されて、メッセージは JMS セッションで確認応答されます。
JmsQ2TuxQ
に設定されたメッセージは、JATMI の tpenqueue
を使って Tuxedo キューに配信されます。
JmsQ2TuxS
に設定されたメッセージは、JATMI の tpcall
を使って Tuxedo サービスに配信されます。
tpenqueue
または tpcall
の処理が正常に行われて、結果が replyQ に格納されます。メッセージは、JMS セッションで確認応答されます。
tpenqueue
または tpcall
の処理が失敗すると、tBridge はメッセージを wlsServerErrorDestination
キューに配信し、メッセージは JMS セッションで確認応答されます。wlsServerErrorDestination
キューがコンフィグレーションされていない場合は、メッセージは破棄されて、tBridge は次に取り出すことのできる確認応答されていないメッセージを処理します。
tBridge が Tuxedo を JMS に接続する仕組み
注意: tBridge は、トランザクションを使用して、Tuxedo /Q から JMS キューへの転送中にメッセージが失われることを防ぎます。
ここでは、Tuxedo メッセージが TuxQ2JmsQ
リダイレクトを使用して tBridge 経由で JMS キューに送られる仕組みについて説明します。
tpdequeue
を使用して Tuxedo からメッセージを転送し、JMS キューにメッセージを格納します。
tuxErrorDestination
キューに格納されます。
tuxErrorDestination
キューに格納できない場合は、ログにエラーが記録されて、メッセージは失われます。
tuxErrorDestination
キューが指定されていない場合は、メッセージは失われます。
tBridge の制限
tBridge には、以下の制限事項があります。
tBridge 用 WebLogic Tuxedo コンフィグレーション XML ファイル コンフィグレーション
WebLogic Tuxedo Connector の tBridge 接続性は、Tuxedo への接続を確立するために必要な情報を含む XML コンフィグレーション ファイルによって決定されます。
tBridge の起動
tBridge は、XML コンフィグレーション ファイルの tBridge セクションがコンフィグレーションされている場合は、WebLogic Server アプリケーション環境の一部として起動されます。tBridge が起動できないようなコンフィグレーション条件が発生した場合は、エラーがログされます。
エラーのロギング
WebLogic Tuxedo Connector エラーは、WebLogic Server エラー ログにログされます。
tBridge の接続性
注意: MapMessage、ObjectMessage、StreamMessage の JMS メッセージ タイプは、WebLogic Tuxedo Connector では無効です。これらのメッセージ タイプの 1 つが tBridge によって受信された場合は、サポートされていないタイプであることを示すログ エントリが作成され、メッセージが破棄されます。
tBridge は、JMS キューと Tuxedo /Q または JMS キューと Tuxedo サービスのインスタンス間で、一方向のデータ接続を確立します。この接続は、<fromto>
要素として、コンフィグレーション ファイルの tBridge
セクションで指定されます。各データ接続は、識別されたポイント間に 1 対 1 の接続を提供します。3 つのタイプの接続がコンフィグレーションできます。各接続タイプは、<direction>
要素の値として、コンフィグレーション ファイルの tBridge セクションで指定されます。次に、各接続タイプについて説明します。
JmsQ2TuxQ
: JMS キューから読み取りを行い、指定された Tuxedo /Q にメッセージを転送します。
TuxQ2JmsQ
: Tuxedo /Q から読み取りを行い、JMS にメッセージを転送します。
JmsQ2TuxS
: JMS キューから読み取りを行い、同時に指定された Tuxedo サービスを呼び出し、指定された JMS キューに応答を返します。
接続タイプのコンフィグレーションの例
次の節では、各接続タイプのコンフィグレーションの例を紹介します。
JmsQ2TuxQ コンフィグレーションの例
次は、JMS キューから読み取りを行い、Tuxedo /Q に送信するコードの例を示します。
<fromto>
<direction>JmsQ2TuxQ</direction>
<source>
<Name>weblogic.jms.Jms2TuxQueue</Name>
</source>
<target>
<AccessPoint>TDOM2</AccessPoint>
<Qspace>QSPACE</Qspace>
<Name>STRING</Name>
</target>
<replyQ>RPLYQ</replyQ>
<translateFML>NO</translateFML>
</fromto>
次に、JmsQ2TuxQ
コンフィグレーションの各コンポーネントを説明します。
<direction>
接続タイプは JmsQ2TuxQ
です。
<source>
<Name>
キーワードは、読み取る JMS キューの名前が weblogic.jms.Jms2TuxQueue
であることを指定します。tBridge は、CLIENT_ACKNOWLEDGE セマンティクスを使用して、このキューに JMS クライアント セッションを確立します。
<target>
キーワードは、宛先を明示的に参照するために必要な要素を指定します。
<AccessPoint>
キーワードは、アクセス ポイントの名前が TDOM2
であることを指定します。
<Qspace>
キーワードは、Qspace の名前が Qspace
であることを指定します。
<Name>
キーワードは、キューの名前が STRING
であることを指定します。
<replyQ>
キーワードは、JMS 応答キューの名前が ReplyQ
であることを指定します。このキューを使用すると、tpenqueue
は TMFORWARD
機能を提供します。
<translateFML>
キーワード NO
は、tBridge がデータ変換を提供しないことを指定します。
次の表は、JmsQtoTuxQ メッセージ マッピングの情報を示します。
マッピング元 : JMS メッセージ タイプ |
マッピング先 : WebLogic Tuxedo Connector JATMI(Tuxedo) |
---|---|
BytesMessage |
TypedCArray |
TextMessage (translateFML = NONE) |
TypedString |
TextMessage (translateFML = FLAT) |
TypedFML32 |
TuxQ2JmsQ コンフィグレーションの例
次に、Tuxedo /Q を WebLogic Server にインポートするためのサンプル コードを示します。
< T_DM_IMPORT
ResourceName="QSPACE"
LocalAccessPoint="LDOM2"
RemoteAccessPointList="MYLOCAL"
<TranTime>600</TranTime>
</T_DM_IMPORT>
各要素の説明は次のとおりです。
ResourceName
は、BDMCONFIG
ファイルの *DM_LOCAL_SERVICES
セクションで記述される Tuxedo /Q です。
LocalAccessPoint
は、BDMCONFIG
ファイルの *DM_REMOTE_DOMAINS
セクションで記述される WebLogic Server ドメインの名前です。
RemoteAccessPointList
は、BDMCONFIG
ファイルの *DM_LOCAL_DOMAINS
セクションで記述される Tuxedo ドメインの名前です。
次は、Tuxedo /Q キューから読み取りを行い、JMS キューに送信するコードの例を示します。
<fromto>
<direction>TuxQ2JmsQ</direction>
<source>
<AccessPoint>TDOM2</AccessPoint>
<Qspace>QSPACE</Qspace>
<Name>STRING</Name>
</source>
<target>
<Name>weblogic.jms.Tux2JmsQueue</Name>
</target>
<ReplyQ>NO</ReplyQ>
<translateFML>NO</translateFML>
</fromto>
次に、TuxQ2JmsQ
コンフィグレーションの各コンポーネントを説明します。
<direction>
接続タイプは TuxQ2JmsQ
です。
<source>
<Name>
キーワードは、読み取る JMS キューの名前が weblogic.jms.Tux2JmsQueue
であることを指定します。
<target>
は、宛先を明示的に参照するために必要な要素を指定します。
<AccessPoint>
キーワードは、アクセス ポイントの名前が TDOM2
であることを指定します。
<Qspace>
キーワードは、Qspace の名前が Qspace
であることを指定します。
<Name>
キーワードは、キューの名前が STRING
であることを指定します。
<translateFML>
キーワード NO
は、tBridge がデータ変換を提供しないことを指定します。
次の表は、TuxQ2JmsQ メッセージ マッピングの情報を示します。
JmsQ2TuxS コンフィグレーションの例
注意: XML/FML 変換の詳細については、 WebLogic Tuxedo Connector での FML の使用を参照してください。
次は、JMS キューから読み取りを行い、Tuxedo サービスを呼び出して、結果を JMS キューに返すコードの例を示します。
<fromto>
<direction>JmsQ2TuxS</direction>
<source>
<Name>weblogic.jms.Jms2TuxQueue</Name>
</source>
<target>
<AccessPoint>TDOM2</AccessPoint>
<Name>REVERSE_STRING</Name>
</target>
<replyQ>weblogic.jms.Tux2JmsQueue</replyQ>
<translateFML>FLAT</translateFML>
</fromto>
次に、JmsQ2TuxS
コンフィグレーションの各コンポーネントを説明します。
<direction>
接続タイプは JmsQ2TuxS
です。
<source>
<Name>
キーワードは、読み取る JMS キューの名前が weblogic.jms.Jms2TuxQueue
であることを指定します。
<target>
は、宛先を明示的に参照するために必要な要素を指定します。
<AccessPoint>
キーワードは、アクセス ポイントの名前が TDOM2
であることを指定します。
<Name>
キーワードは、キューの名前が REVERSE_STRING
であることを指定します。
<replyQ>
キーワードは、JMS 応答キューの名前が ReplyQ
であることを指定します。
<translateFML>
キーワード FLAT
は、JMS メッセージの受信時に、メッセージが XML フォーマットで、対応する FML32 データ バッファに変換されることを指定します。メッセージは、引数 TDOM2
および REVERSE_STRING
とともに tpcall
に配置されます。メッセージは FML32 から XML に変換され、weblogic.jms.Tux2JmsQueue
に配置されます。
次の表は、JMSQ2TuxX メッセージ マッピングの情報を示します。
優先度のマッピング
WebLogic Tuxedo Connector は、複数の tBridge リダイレクト インスタンスをサポートしています。多くの環境では、複数のリダイレクト インスタンスを使用することで、アプリケーションのスケーラビリティとパフォーマンスが大幅に向上します。ただし、メッセージが処理される順序はランダムになります。優先度のマッピングを使用すると、順序は保証されませんが、割り当てられている重要度に基づいてメッセージに対応するメカニズムが提供されます。配信の順序を保証する必要がある場合は、単一の tBridge リダイレクト インスタンスを使用してください。
JMS および Tuxedo 間で優先度をマップするには、priorityMapping
を使用します。
この節では、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
- 1-10:0 | 11-20:1 | 21-30:2 | 31-40:3 | 41-50:4| 51-60:5 | 61-70:6 | 71-80:7 | 81-90:8 | 91-100:9
例 :
次の priorityMapping
は、デフォルトのマッピングを示します。
コード リスト 5-1 優先度マッピングのコンフィグレーション例
.
.
.
<priorityMapping>
<TuxtoJms>
<pMap>
<value>1-10</value>
<range>0</range>
</pMap>
<pMap>
<value>11-20</value>
<range>1</range>
</pMap>
<pMap>
<value>21-30</value>
<range>2</range>
</pMap>
<pMap>
<value>31-40</value>
<range>3</range>
</pMap>
<pMap>
<value>41-50</value>
<range>4</range>
</pMap>
<pMap>
<value>51-60</value>
<range>5</range>
</pMap>
<pMap>
<value>61-70</value>
<range>6</range>
</pMap>
<pMap>
<value>71-80</value>
<range>7</range>
</pMap>
<pMap>
<value>81-90</value>
<range>8</range>
</pMap>
<pMap>
<value>91-100</value>
<range>9</range>
</pMap>
</TuxtoJms>
<JmstoTux>
<pMap>
<value>0</value>
<range>1</range>
</pMap>
<pMap>
<value>1</value>
<range>12</range>
</pMap>
<pMap>
<value>2</value>
<range>23</range>
</pMap>
<pMap>
<value>3</value>
<range>34</range>
</pMap>
<pMap>
<value>4</value>
<range>45</range>
</pMap>
<pMap>
<value>5</value>
<range>56</range>
</pMap>
<pMap>
<value>6</value>
<range>67</range>
</pMap>
<pMap>
<value>7</value>
<range>78</range>
</pMap>
<pMap>
<value>8</value>
<range>89</range>
</pMap>
<pMap>
<value>9</value>
<range>100</range>
</pMap>
</JmstoTux>
</priorityMapping>
.
.
.
このコンフィグレーションでは、優先度 7 の JMS メッセージが Tuxedo /Q の優先度 78 に割り当てられます。優先度 47 の Tuxedo /Q は、優先度 4 の JMS に割り当てられます。
エラー キュー
tBridge が Tuxedo キューまたは JMS キューからメッセージを受信したときに問題を検出した場合、再試行間隔の後に次の処理が行われます。
wlsServerErrorDestination
wlsErrorDestination
は、JMS メッセージが Tuxedo エラーまたは変換エラーにより適切に送信できない場合に使用されます。
サポートされていないメッセージ タイプ
認識できない JMS メッセージを受信した場合、適切なエラー メッセージがログされ、そのメッセージは破棄されます。これはコンフィグレーション エラーと解釈され、tBridge はメッセージをエラー キューにリダイレクトしません。
tuxErrorQueue
tuxErrorQueue
は、TuxQ2JmsQ
リダイレクト中の JATMI プリミティブ tpdequeue
に対するエラー キューです。
制限
tBridge エラー キューには、次のような制限があります。
TuxErrorDestination
は一度だけ指定できます。ErrorDestination
に関連するエラー キュー名は、すべての QSPACE が使用可能な同じエラー キュー名を持っていることを示します。
![]() |
![]() |
![]() |