3.10 ロールバックされたメッセージ
トランザクション制御下でキューからのメッセージを処理するとき,トランザクションは一つ以上のメッセージで構成されます。ロールバックが発生する場合,キューから取り出されたメッセージはキューに戻され,ほかのトランザクションで再度処理できるようになります。特定メッセージの処理で問題が発生する場合,再度,ロールバックされます。これによって処理がループします。キューに登録されたメッセージは削除されます。
このようなループに入ったメッセージをアプリケーションで検出するには,MQMD構造体のBackoutCountフィールドを調べてください。アプリケーションで状態を修正したり,オペレータに警告を発行したりできます。
TP1/Message QueueでサポートするHardenGetBackout属性はMQQA_BACKOUT_NOT_HARDENEDです。
メッセージのコミットとロールバックについては,「12. コミットとロールバック」を参照してください。