4.4.1 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
トランザクション・モードの呼出し側からのメッセージは、呼出し側と同じトランザクション内のキューには登録されません。