OpenTP1 メッセージキューイング機能 TP1/Message Queue プログラム作成リファレンス
MQTM構造体 − トリガメッセージ
MQTM構造体は,次のフィールドから構成されます。
| フィールド(データタイプ) | 内容 | 初期値 |
|---|---|---|
| StrucId(MQCHAR4型) | 構造体識別子 | MQTM_STRUC_ID |
| Version(MQLONG型) | 構造体バージョン番号 | MQTM_VERSION_1 |
| QName(MQCHAR48型) | イベント発生キュー名 | ヌル文字列/空白 |
| ProcessName(MQCHAR48型) | プロセス名 | ヌル文字列/空白 |
| TriggerData(MQCHAR64型) | トリガデータ | ヌル文字列/空白 |
| ApplType(MQLONG型) | アプリケーションタイプ | 0 |
| ApplId(MQCHAR256型) | アプリケーション識別子 | ヌル文字列/空白 |
| EnvData(MQCHAR128型) | 環境データ | ヌル文字列/空白 |
| UserData(MQCHAR128型) | ユーザデータ | ヌル文字列/空白 |
概要
目的
この構造体には,トリガメッセージのデータが記述されます。キューマネジャは,トリガイベントが発生したときに,トリガモニタアプリケーションへトリガメッセージを通知します。
フォーマット名
MQFMT_TRIGGER
文字セットおよびマシンコード
MQTM構造体の文字データは,MQTM構造体を生成するキューマネジャの文字セットに従います。MQTM構造体の数値データは,MQTM構造体を生成するキューマネジャのマシンコードに従います。
MQTM構造体の文字セットおよびマシンコードは,次に示す構造体中のCodedCharSetIdおよびEncodingフィールドで指定されます。
使用方法
トリガモニタアプリケーションがほかのアプリケーションを起動するとき,トリガメッセージ内の幾つかの情報を,そのアプリケーションに渡す必要があります。そのアプリケーションで必要となる情報には,QName,TriggerData,UserDataなどがあります。トリガによるアプリケーション開始については,マニュアル「TP1/Message Queue プログラム作成の手引」を参照してください。
トリガメッセージのMQMD構造体
トリガメッセージのMQMD構造体のフィールドには,次の値が設定されます。これは,トリガメッセージを取り出したMQGET命令の,MsgDesc引数で返される値です。
| MQMD構造体のフィールド | 値 |
|---|---|
| StrucId | MQMD_STRUC_ID |
| Version | MQMD_VERSION_1 |
| Report | MQRO_NONE |
| MsgType | MQMT_DATAGRAM |
| Expiry | MQEI_UNLIMITED |
| Feedback | MQFB_NONE |
| Encoding | MQENC_NATIVE |
| CodedCharSetId | キューマネジャのCodedCharSetId属性の値 |
| Format | MQFMT_TRIGGER |
| Priority | MQPRI_PRIORITY_AS_Q_DEF(イニシエーションキューに定義された,省略時のメッセージ優先度) |
| Persistence | MQPER_NOT_PERSISTENT |
| MsgId | ユニークな値 |
| CorrelId | MQCI_NONE |
| BackoutCount | 0 |
| ReplyToQ | 空白 |
| ReplyToQMgr | 空白 |
| UserIdentifier | 空白 |
| AccountingToken | MQACT_NONE |
| ApplIdentityData | 空白 |
| PutApplType | MQAT_QMGR |
| PutApplName | キューマネジャ名の先頭から28文字 |
| PutDate | トリガメッセージを通知した日付 |
| PutTime | トリガメッセージを通知した時刻 |
| ApplOriginData | 空白 |
フィールド
構造体を構成するフィールドについて,アルファベット順に説明します。
● ApplId(MQCHAR256型) アプリケーション識別子
起動するアプリケーションを識別する文字列です。トリガメッセージを取り出したトリガモニタアプリケーションで使用します。キューマネジャはこのフィールドに,ProcessNameのプロセスオブジェクトのApplId属性の値を設定します。キューマネジャはこの内容を特に使用しません。
ApplIdの意味は,トリガモニタアプリケーションによって決まります。WebSphere MQが提供するトリガモニタでは,ApplIdを実行プログラムの名前にする必要があります。
このフィールドの長さは,MQ_PROCESS_APPL_ID_LENGTHに定義されています。
このフィールドの初期値は,C言語ではヌル文字列です。そのほかのプログラミング言語では,256個の空白です。
● ApplType(MQLONG型) アプリケーションタイプ
起動するアプリケーションの種類です。トリガメッセージを取り出したトリガモニタアプリケーションで使用します。キューマネジャはこのフィールドに,ProcessNameのプロセスオブジェクトのApplType属性の値を設定します。キューマネジャはこの内容を特に使用しません。
ApplTypeフィールドには,次の標準の値があります。また,ユーザが定義した値も使用できます。ただし,ユーザが定義できる値の範囲はMQAT_USER_FIRSTからMQAT_USER_LASTまでです。
このフィールドの初期値は0です。
● EnvData(MQCHAR128型) 環境データ
起動するアプリケーションに関連する環境についての文字データです。トリガメッセージを取り出したトリガモニタアプリケーションで使用します。キューマネジャは,このフィールドにProcessNameのプロセスオブジェクトのEnvData属性の値を設定します。キューマネジャはこの内容を特に使用しません。
このフィールドの長さは,MQ_PROCESS_ENV_DATA_LENGTHに定義されています。
このフィールドの初期値は,C言語ではヌル文字列です。そのほかのプログラミング言語では,128個の空白です。
● ProcessName(MQCHAR48型) プロセス名
トリガイベントが発生したキューのプロセスオブジェクトの名称です。トリガメッセージを取り出したトリガモニタアプリケーションで使用します。キューマネジャはこのフィールドに,QNameのキューのProcessName属性の値を設定します。
フィールドの長さより名称が短い場合,余りが空白で埋められます。ヌル文字は使用されません。このフィールドの長さは,MQ_PROCESS_NAME_LENGTHに定義されています。
このフィールドの初期値は,C言語ではヌル文字列です。そのほかのプログラミング言語では,48個の空白です。
● QName(MQCHAR48型) イベント発生キュー名
トリガイベントが発生したキューの名称です。このキューの名称は,トリガモニタアプリケーションによって起動されたアプリケーションで使用します。キューマネジャは,このフィールドにトリガイベントが発生したキューのQName属性の値を設定します。
フィールドの長さより名称が短い場合,余りが空白で埋められます。ヌル文字は使用されません。このフィールドの長さは,MQ_Q_NAME_LENGTHに定義されています。
このフィールドの初期値は,C言語ではヌル文字列です。そのほかのプログラミング言語では,48個の空白です。
● StrucId(MQCHAR4型) 構造体識別子
次の値を取ります。
このフィールドの初期値はMQTM_STRUC_IDです。
● TriggerData(MQCHAR64型) トリガデータ
任意の形式のデータです。トリガメッセージを取り出したトリガモニタアプリケーションで使用します。キューマネジャはこのフィールドに,QNameのキューのTriggerData属性の値を設定します。キューマネジャはこの内容を特に使用しません。
このフィールドの長さは,MQ_TRIGGER_DATA_LENGTHに定義されています。
このフィールドの初期値は,C言語ではヌル文字列です。そのほかのプログラミング言語では,64個の空白です。
● UserData(MQCHAR128型) ユーザデータ
起動するアプリケーションに関するユーザ任意の情報です。トリガメッセージを取り出したトリガモニタアプリケーションで使用します。キューマネジャは,このフィールドにProcessNameのプロセスオブジェクトのUserData属性の値を設定します。キューマネジャはこの内容を特に使用しません。
このフィールドの長さは,MQ_PROCESS_USER_DATA_LENGTHに定義されています。
このフィールドの初期値は,C言語ではヌル文字列です。そのほかのプログラミング言語では,128個の空白です。
● Version(MQLONG型) 構造体バージョン番号
次の値を取ります。
次の定数には,現在のバージョン番号を指定します。
このフィールドの初期値はMQTM_VERSION_1です。
All Rights Reserved. Copyright (C) 2006, 2011, Hitachi, Ltd.
(C) Copyright International Business Machines Corporation 1994, 2003. All rights reserved.