Cosminexus V9 アプリケーションサーバ Cosminexus Reliable Messaging
デッドメッセージキューを作成する方法は,ローカルキューと同じです。ただし,RMDeadMessageQueueNameプロパティにキュー名を指定する必要があります。ローカルキューの作成方法については,「4.2.1 ローカルキューによるシステム内アプリケーション間連携」を参照してください。
ここでは,デッドメッセージを再登録する場合の手順について説明します。有効期限切れ,配信回数超過,通信失敗などで,デッドメッセージキューに移動したメッセージを,移動前のキュー(ローカルキュー,受信用共用キュー,または転送キュー)に新しいメッセージとして再登録できます。デッドメッセージを再登録する場合の手順を次の図に示します。
図4-3 デッドメッセージの再登録
デッドメッセージID(DMID)とは,デッドメッセージを識別するために設定される一意のIDです。hrmlsdmsgコマンドでデッドメッセージを参照したり,hrmregdmsgコマンドでデッドメッセージを再登録したりするときの引数として使用します。
DMIDは,デッドメッセージキュー移動時のログメッセージに出力されます。また,JMSメッセージのReliable Messaging固有のプロパティやhrmlsdmsgコマンドの実行結果として参照できます。
サーバ間転送時の送信側システムのデッドメッセージキューには,受信側システムに到達しているメッセージや受信側デッドメッセージキューに格納されているメッセージが存在する場合があります。
この場合,送信側システムの転送キューからデッドメッセージキュー移動したデッドメッセージを転送キューに再登録する前に,メッセージIDなどで受信側システムのメッセージ到達状態を確認して,受信側システムに到達済みのメッセージを再登録しないようにしてください。送信側システムで転送キューに再登録したメッセージは,最初に転送キューに登録したメッセージとは別のメッセージとして転送されます。そのため,送信側システムで再登録すると,受信側システムで同じ内容のメッセージが重複して受信されることになります。
受信側システムのメッセージ到達状態を確認するには,送信側システムで該当するデッドメッセージのデッドメッセージキュー移動時のメッセージログ(KFRM40012-I)に出力されるDMID,グループID,グループ内シーケンス番号と,受信側システムで回線トレースに出力されるグループID,グループ内シーケンス番号とを照合してください。回線トレースについては,「9.3.5 回線トレース」を参照してください。
送信側・受信側システム両方のデッドメッセージキューに,同じメッセージが格納される場合を次の図に示します。
図4-4 送信側・受信側システムのデッドメッセージキューに,同じメッセージが格納される場合
All Rights Reserved. Copyright (C) 2012, 2015, Hitachi, Ltd.