目次 前 次 PDF


Oracle Tuxedo MQ Adapterの実行

Oracle Tuxedo MQ Adapterの実行
この章には次のトピックが含まれます:
サーバーの起動
MQ Adapterサーバーは、tmbootなどの標準のTUXEDOユーティリティを使用して、TUXEDOアプリケーションの一部として起動します。MQ Adapterはサーバーの構成ファイルを読み込んで、指定されたキュー・マネージャに接続しようとします。MQ Adapterがキュー・マネージャとの接続を確立すると、Tuxedo to WebSphere MQサーバー(TM_MQO)はそのキュー・マネージャに関連付けられているサービスを通知します。
TUXEDO-to-WebSphere MQリクエストの開始
TUXEDOクライアントはTuxedo to MQサーバー(TM_MQO)で通知されたすべてのサービスを呼び出すことができます。TUXEDO-to-WebSphere MQリクエストは次のアクションから成ります。
1.
TUXEDOクライアントはTM_MQOで通知されたサービスに対するリクエストを開始します。
2.
MQ AdapterはWebSphere MQ Message Queue Interface (MQI)を使用して、これらのリクエストを適切なWebSphere MQキューに転送します。
3.
MQ Adapterは指定された応答キューからレスポンス・データ(存在する場合)を取り出し、このデータをTUXEDOクライアントに戻します。
WebSphere MQ-to-TUXEDOリクエストの開始
WebSphere MQアプリケーションはWebSphere MQ to Tuxedoサーバー(TM_MQI)を介してTUXEDOサービスにリクエストすることができます。WebSphere MQ-to-TUXEDOリクエストは次のアクションから成ります。
1.
WebSphere MQアプリケーションは、サービスにリクエストするメッセージを、指定されたキューに登録します。
2.
MQ Adapterは受信キューからメッセージを取り出します。
3.
MQ Adapterは適切なサービスにメッセージ・データを転送します。
4.
MQ Adapterは指定された応答キューにレスポンス・データ(存在する場合)を置きます。
キューに登録されたメッセージのWebSphere MQへの送信、WebSphere MQからの受信
TMQUEUE_MQMサーバーは、TUXEDOクライアントおよびサーバー・プロセスからのtpenqueueおよびtpdequeueリクエストを処理します。
tpenqueueリクエストの処理
tpenqueueリクエストの構文は次のとおりです。
tpenqueue (qspace, qname, qctl, data, len, flags)
tpenqueueリクエストでは、上のすべてのパラメータが必要です。これらのパラメータについて、以下に簡単に説明します。詳細については、Oracle TUXEDOのプログラマーズ・ガイドを参照してください。
QSPACE
TMQUEUE_MQMで通知されたサービスの名前。この値は、TUXEDO UBBCONFIGファイルで-sオプションを使用して上書きすることができます。例:
-s myname :MQMQUEUE
デフォルトはMQMQUEUEです。
QNAME
アダプタがメッセージを置いたり、取り出したりするキューの名前。127文字まで指定できます。TMQUEUE_MQM構成ファイルのQUEUEセクションにあるTUXNAMEパラメータからマップされたWebSphere MQキューに相当します。
QCTL
メッセージに関する追加情報を指定します。tpenqueueリクエストで定義できる、サポートされるオプションは次のとおりです。
TPNOFLAGS
このメッセージに適用されるオプションはありません。
TPQPRIORITY
メッセージの優先度。このフィールドで指定できるTUXEDO値は1 - 100です。指定できるMQ値は0 - 9であり、TUXEDO値に0=TUXEDO 1-10、1=TUXEDO 11-20、のようにマップされます。
TPQCORRID
相関ID。リクエストに対するレスポンスを識別します。TUXEDOは最大32バイトをサポートします。MQ Adapterは最大24バイトをサポートするため、tpenqueueリクエストではTUXEDO値が切り詰められます。
TPQREPLYQ
応答メッセージを置くキューの名前。127文字まで指定できます。
TPQMSGID
メッセージがキューに置かれたときに生成されるメッセージIDを戻します。TUXEDOは最大32バイトをサポートします。MQ Adapterでは最大24バイトをサポートするため、IDにnull値が追加されます。
TPQDELIVERYQOS
サービスの配信品質を指定します。TPQQOSPERSISTENTの値を指定した場合、MQの永続性はMQPER_PERSISTENTに設定されます。TPQQOSNONPERSISTENTの値を指定した場合、MQの永続性はMQPER_NOT_PERSISTENTに設定されます。TPQQOSDEFAULTPERSISTの値を指定した場合、または、TPQDELIVERYQOSの値を指定しない場合、MQの永続性は、トランザクション内でリクエストが作成された場合はMQPER_PERSISTENTに設定されますが、それ以外の場合はMQPER_PERSISTENCE_AS_Q_DEFに設定されます。
TPQEXPTIME_NONE
キューに登録されたメッセージが期限切れにならないことを指定します。これは、WebSphere MQに渡されるMQMD構造体のMQEI_UNLIMITEDの値に相当します。
TPQEXPTIME_ABS
キューに登録されたメッセージの期限の絶対時間を指定します。この値は、WebSphere MQで解釈される形式に変換されて、WebSphere MQ MQMD構造体のExpiryフィールドを通じてMQに渡されます。
TPQEXPTIME_REL
キューに登録されたメッセージの期限の相対時間を指定します。この値は、WebSphere MQで解釈される形式に変換されて、WebSphere MQ MQMD構造体のExpiryフィールドを通じてMQに渡されます。
注意:
TPQFAILUREQ、TPQBEFOREMSGID、TPQTOP、TPQTIME_REL、TPQTIME_ABS、およびTPQREPLYQOSオプションは、TMQUEUE_MQMに対するtpenqueueリクエストではサポートされません。
DATA
キューに置かれるデータ。
LEN
キューに置かれるデータの長さ。
FLAGS
メッセージのフラグ設定を定義します。tpenqueueリクエストでサポートされるフラグは次のとおりです。
TPNOTRAN
トランザクション・モードの呼び出し側からのメッセージは、呼び出し側と同じトランザクション内のキューには登録されません。
 
tpdequeueリクエストの処理
tpdequeueリクエストの構文は次のとおりです。
tpdequeue (qspace, qname, qctl, data, len, flags)
A tpdequeueリクエストでは、上記のすべてのパラメータが必要です。これらのパラメータについて、以下に簡単に説明します。詳細については、Oracle TUXEDOのプログラマーズ・ガイドを参照してください。
QSPACE
TMQUEUE_MQMで通知されたサービスの名前。この値は、TUXEDO UBBCONFIGファイルで-sオプションを使用して上書きすることができます。例:
-s myname :MQMQUEUE
デフォルト値はMQMQUEUEです
QNAME
アダプタがメッセージを置いたり、取り出したりするキューの名前。127文字まで指定できます。TMQUEUE_MQM構成ファイルのQUEUEセクションにあるTUXNAMEパラメータからマップされたWebSphere MQキューに相当します。
QCTL
メッセージに関する追加情報を指定します。tpdequeueリクエストで定義できる、サポートされるオプションは以下のとおりです。
TPNOFLAGS
このメッセージに適用されるオプションはありません。
TPQGETBYMSGID
指定されたメッセージIDのメッセージがある場合はデキューします。WebSphere MQ MQGET APIを呼び出すときに、指定されたメッセージIDは24バイトに切り詰められて、MQMD構造体のMsgIdフィールドで渡されます。
TPQGETBYCORRID
指定された相関IDのメッセージをデキューします。
TPQPRIORITY
メッセージの優先度。このフィールドで指定できるTUXEDO値は1 - 100です。指定できるMQ値は0 - 9であり、TUXEDO値に0=TUXEDO 1-10、1=TUXEDO 11-20、のようにマップされます。
TPQCORRID
相関ID。リクエストに対するレスポンスを識別します。TUXEDOは最大32バイトをサポートします。MQは最大24バイトをサポートするため、このIDは常に、Tuxedoでサポートされる32バイトに適合します。残りの8バイトにはnull文字が設定されます。
TPQREPLYQ
応答メッセージを置くキューの名前。127文字まで指定できます。
TPQMSGID
メッセージがキューに置かれたときに生成されるメッセージIDを戻します。MQは最大24バイトをサポートするため、このIDは常に、Tuxedoでサポートされる32バイトに適合します。残りの8バイトにはnull文字が設定されます。
TPQPEEK
このフラグが設定されていると、指定されたメッセージが読み取られてもキューから削除されません。このフラグは、tpdequeue()操作にTPNOTRANフラグが設定されていることを意味します。つまり、非破壊的なデキューはトランザクション非対応です。トランザクション終了前にトランザクション内でエンキューまたはデキューされたメッセージを読み取ることはできないことに注意してください。
TPQDELIVERYQOS
このフラグが設定され、tpdequeue()の呼び出しが成功し、サービスの配信品質を持つメッセージがキューに登録されていた場合、フラグはctl->delivery_qosに格納されます。MQGETの呼び出しでMQPER_NOT_PERSISTENTの永続性が指定された場合、ctl->delivery_qosはTPQQOSNONPERSISTENTに設定されます。それ以外の場合は、TPQQOSPERSISTENTに設定されます。
注意:
TPQWAITオプションはTMQUEUE_MQMに対するtpdequeueリクエストではサポートされません。
DATA
キューに置かれるデータ。
LEN
キューに置かれるデータの長さ。
FLAGS
メッセージのフラグ設定を定義します。tpdequeueリクエストでサポートされるフラグは次のとおりです。
TPNOTRAN
トランザクション・モードの呼び出し側からのメッセージは、呼び出し側と同じトランザクション内ではデキューされません。
 

Copyright ©1994, 2017,Oracle and/or its affiliates. All rights reserved