ページの先頭行へ戻る
Interstage Service Integrator V9.5.1 運用ガイド
FUJITSU Software

1.1.8 グローバルサーバ連携のリカバリ

1.1.8.1 サーバ間のメッセージ転送での異常発生時の対処

グローバルサーバ連携のメッセージ転送で異常発生した場合の対処の流れは、以下のとおりです。

  1. 送信異常となった原因を取り除く

  2. サービスの通信の再開

グローバルサーバ連携のメッセージ転送で異常発生後の復旧は、異常となった原因を取り除いたあとにキュー間転送機能の自動リトライによって復旧します。

ただし、キュー間転送サービスの通信が切断されている場合にはサービスの通信の再開を行う必要があります。異常となった原因を取り除いたあと、mqdnsgwprtコマンドを-aオプションを指定して実行し、状態が“Suspend”となっている場合、サービスの通信の再開作業を実行してください。

送信異常となった原因を取り除く

送信側、または受信側のサーバのシステムログに出力されているInterstageのキュー間転送機能のメッセージから、送信異常となった原因の対処を行ってください。

サービスの通信の再開

サービスの通信を再開するためには、mqdnsgwcommコマンドを使用して行います。

以下にmqdnsgwcommコマンド(サービスの通信の再開)の入力例を示します。mqdnsgwcommコマンドの詳細は、“Interstage Application Server MessageQueueDirector説明書”を参照してください。

mqdnsgwcomm -s MQDESIGS -a ID000001

1.1.8.2 メッセージの内容の問題によりメッセージの送信が失敗した場合の対処

送信側サーバがISIサーバで受信側サーバがグローバルサーバのとき、データのサイズが上限(1999996バイト)を超えているなどグローバルサーバで扱うことができないメッセージが送信された場合、メッセージの転送には成功しません。この場合、以下の手順で問題があるメッセージを退避・削除して転送を再開してください。

  1. メッセージ転送を一時停止

    mqdnsgwcomm -s MQDシステム名 -d 送信チャネル識別子

    送信チャネル識別子はエラー発生時にシステムログに出力されるMQD6352、またはMQD6358のメッセージの可変情報(channelid)を指定してください。

  2. 対象のキューからメッセージを削除

    1. キュー間転送の定義を確認し、対象のキューを特定

      mqdnsgwprt -s MQDシステム名 -c
      ---出力結果---
      [MNGR]
      sproc = 1
      rproc = 1
      systemid = SERVER01
      repository = SERVER01NSGWDERVERREPID
      errorretry = continue
      
      [SERVER]
      name = SERVER02
      iorfile = /mqd/MQDIORFILE2
      
      [CHANNEL]
      channelid = ID000001
      sndname = SEND::CHANNEL001
      rcvname = CHANNEL002
      evttype = any
      ectype = CHANNEL
      server = SERVER02
      packmsg_cnt = 1
      packmsg_wtime = 0
      
      [RCHANNEL]
      rcvname = RECV::CHANNEL004
      ecttype = CHANNEL
      recvnum = 1

      コマンドの出力結果から送信チャネル識別子(channelid)に対応する送信チャネル(sndname)の設定を確認し、キュー名を特定します。

      上記のコマンド出力結果の場合、送信チャネル識別子(channelid)がID000001、送信チャネル(sndname)がSEND::CHANNEL001、キュー名がCHANNEL001となります。

    2. 特定したキューからメッセージを削除

      apfwdbqctrlmsg -save -q キュー名 -d esimsgdb -o 保存先ファイル

      特定したキュー名を指定してコマンドを実行することで、キューの先頭のメッセージを保存先ファイルに保存し、先頭のメッセージはキューから削除されます。

  3. メッセージの保存先ファイルの確認

    保存先ファイル内のメッセージの内容を確認し、必要に応じて受信サーバで保存先ファイルからデータを復元、および編集してメッセージを復旧してください。

    ポイント

    保存先ファイルにはメッセージがバイナリデータとして出力されます。

    Javaプログラムでファイルからデータを復元するための記述例を以下に示します。

    byte[] b;
    FileInputStream fis = new FileInputStream("保存先ファイル");
    try {
      DataInputStream dis = new DataInputStream(fis);
      dis.read(b);
    } finally {
      fis.close();
    }
  4. メッセージ転送の再開

    以下のコマンドを実行して、メッセージ転送を再開してください。

    mqdnsgwcomm -s MQDシステム名 -a 送信チャネル識別子