TP1/Message QueueまたはMQSeriesのメッセージキューにメッセージを送信します。
送信したメッセージは,MQMD構造体としてメッセージキューシステムの送信先キューに格納されます。メッセージキューに送信したメッセージは,アプリケーションプログラムで利用できます。
(1) メッセージ送信の定義方法
メッセージ送信をJP1/AJS2のアクションとして実行できるようにするには,メッセージ送信パラメーターを指定します。
メッセージ送信の定義方法は,次の2種類があります。
メッセージ送信パラメーターには,次の項目を指定します。
このほか,必要に応じてモデルキュー名などを指定します。
(2) 送信するメッセージの形式
MQMD構造体に格納されるフィールドの内容と値を次の表に示します。
表3-7 メッセージ送信時にMQMD構造体として格納される値
フィールド | 内容 | 値 |
---|---|---|
StrucId | 構造体識別子 | システムの仮定値 |
Version | 構造体バージョン情報 | システムの仮定値 |
Report | 報告オプション | MQRO_NONE(報告なし) |
MsgType | メッセージタイプ | MQMT_DATAGRAM(非問い合わせメッセージ) |
Expiry | メッセージ保持時間 | ユーザー指定 |
Feedback | 報告メッセージ返答コード | MQFB_NONE(応答コードなし) |
Encoding | マシンコード形式 | キューマネージャーの属性による |
CodeCharSetId | 文字セット識別名 | キューマネージャーの属性による |
Format | フォーマット名 | ユーザー指定 |
Priority | メッセージ優先度 | ユーザー指定 |
Persistence | メッセージ永続性 | ユーザー指定 |
MsgId | メッセージ識別子 | ユーザー指定 |
CorrelId | 相関識別子 | ユーザー指定 |
BackoutCount | ロールバック回数 | 0 |
ReplyToQ | 応答キュー名 | なし |
ReplyToQMgr | 応答キューマネージャー名 | キューマネージャーによって設定された値 |
UserIdentifier | ユーザー識別子 | なし |
AccountingToken | 課金トークン | MQACT_NONE(初期値) |
ApplIdentityData | アプリケーション識別データ |
|
PutApplType | 登録アプリケーションタイプ | キューマネージャーによって設定された値 |
PutApplName | 登録アプリケーション名 | キューマネージャーによって設定された値 |
PutDate | 登録日付 | メッセージが送信された日付 |
PutTime | 登録時刻 | メッセージが送信された時刻 |
ApplOriginData | 登録元データ | 空白 |
(3) メッセージ送信の定義例
ここでは,MQSeriesを使った場合のメッセージ送信の定義例を説明します。
この例でのシステム構成を次の図に示します。
図3-7 メッセージ送信の定義例
この図の例での,メッセージ送信の定義例を説明します。
表3-8 他ホストにメッセージを送信する定義例
項目名 | 定義内容 |
---|---|
キュー名 | RQMQ |
相関識別子 | CORRELATION |
メッセージ識別子 | MES01 |
キュー管理プログラム名 | RQM |
形式名 | TESTFORM |
メッセージデータファイル名 | /usrdisk/user/msg_queue |
デッドレターキュー(送達不能キュー)名 | DEADQUEUE |
存続時間 | 120 |
優先順位 | 1 |
持続性 | なし |
表3-9 自ホストにメッセージを送信する定義例
項目名 | 定義内容 |
---|---|
キュー名 | QM2Q |
相関識別子 | CORRELATION |
メッセージ識別子 | MES02 |
接続キュー管理プログラム名 | QM2 |
(4) メッセージ送信時の注意事項
メッセージ送信時の注意事項を次に示します。
表3-10 デッドレターキュー(送達不能キュー)に送信されるメッセージの値
フィールド | 内容 | 設定される値 |
---|---|---|
StrucId | 構造体識別子 | システムの仮定値 |
Version | 構造体バージョン情報 | システムの仮定値 |
Reason | デッドレターキュー(送達不能キュー)になった理由 | 指定されたキューのMQOPEN,またはMQPUTの理由コード |
DestQName | 送信元の宛先キュー名 | -qオプションで指定されたキュー名 |
DestQMgrName | 送信元の宛先キューマネージャー名 | -uオプションで指定されたキューマネージャー名 |
Encoding | 送信元のマシンコード形式 | 送信したメッセージのマシンコード形式 |
CodedCharSetId | 送信元の文字セット識別名 | 送信したメッセージの文字セット識別名 |
Format | 送信元のフォーマット名 | 送信したメッセージのフォーマット名 |
PutApplType | デッドレターキュー(送達不能キュー)にメッセージを出力するアプリケーションタイプ | 初期値 |
PutApplName | デッドレターキュー(送達不能キュー)にメッセージを出力するアプリケーションの名前 | 初期値 |
PutDate | メッセージがデッドレターキュー(送達不能キュー)に出力された日付 | デッドレターキュー(送達不能キュー)へのメッセージ送信時に求めた日付 |
PutTime | メッセージがデッドレターキュー(送達不能キュー)に出力された時間 | デッドレターキュー(送達不能キュー)へのメッセージ送信時に求めた時間 |