ファイルからメッセージへの転送の失敗
ファイルからメッセージへの転送で、エージェントがファイル・データを宛先キューに書き込み始めた後に障害が発生すると、エージェントは、メッセージをコンシュームするアプリケーションに障害の発生を通知するためのメッセージをキューに書き込みます。
障害が発生した場合、以下のようなメッセージが宛先キューに書き込まれます。
- 内容はブランクです
- エージェントによって宛先キューに書き込まれた前のメッセージと同じ IBM® MQ グループ ID を持つ
- IBM MQ LAST_MSG_IN_GROUP フラグが設定されます。
- メッセージ・プロパティーが使用可能な場合は、追加の IBM MQ メッセージ・プロパティーが含まれます。 詳しくは、トピック「 宛先キューに書き込まれたメッセージで MFT によって設定されるMQ メッセージ・プロパティー」を参照してください。
例
以下のコマンドを実行して転送を要求します。
fteCreateTransfer -sa AGENT_JUPITER -da AGENT_SATURN -dq RECEIVING_QUEUE
-qmp true -qs 1K /tmp/source1.txt
ファイル source1.txt は 48 KBです。 この転送では、このファイルを 1 KB のメッセージに分割し、それらのメッセージを宛先キュー RECEIVING_QUEUE に書き込みます。転送の進行中、エージェントが 16 個のメッセージを RECEIVING_QUEUE に書き込んだ後に、ソース・エージェントで障害が発生します。
エージェントは、ブランクのメッセージを RECEIVING_QUEUE に書き込みます。 ブランクのメッセージでは、メッセージ・プロパティーの標準セットに加えて、以下のメッセージ・プロパティーが設定されます。
usr.WMQFTEResultCode = 40
usr.WMQFTESupplement = BFGTR0036I: The transfer failed to complete successfully.
IBM MQ 9.3.0以降、区切り文字サイズ検査エラーのためにファイルからの転送が失敗すると、空のメッセージが 1 つだけ送信されるようになりました。 さらに、転送の失敗が宛先エージェント上での区切り文字設定サイズ超過によるものだった場合は、ユーザー・プロパティーがこのメッセージに追加されます。