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