2016-11-25 6 views
0

あるQMから別のQMにキューを移行しています。私はキューを読み込んでいるアプリケーションを停止しましたが、アプリケーションを置くことはできません。WebSphere MQ:「オブジェクトがオープンしています」。リリースを強制して再接続する方法は?

私がやりたいことはある:

  1. 別のQM上に同じ名前で新しいキューを作成しますが、両方のQMが属するMQクラスタ内の共有。
  2. この新しいキューから読み取る新しいアプリケーションをインストールします。
  3. 古いキューを削除します。これにより、MQクラスタキューの場所解決のために、アプリケーションのパッティングが新しいキューを開始します。

これが機能するためには、PUTを作成するアプリケーションを停止する必要があります。これは、古いキューを開いたままにするためです(「オブジェクトが開いています」エラーを削除しようとすると)。ただし、SLAの制約のため、問題のアプリケーションを簡単に停止することはできません。

このキューを強制的に解放して削除するコマンドを見つけて、クライアント(アプリケーションがPUTをやり直す)に強制的に再接続するコマンドを見つけたいと思います。あるいは、実行時にこれを実現する他の方法はありますか?

答えて

2

オープンハンドルのキューは削除できません。私は、アプリケーションからの接続を停止して、アプリケーションが新しい接続を行う前にキューを削除することをお勧めします。他のオプションは、チャネルインスタンスを停止し、キューを削除してから、チャネルインスタンスを開始することです。ただし、SVRCONNチャネルの場合、同じチャネルを使用する場合、他のアプリケーションに影響します。

表示CONNを使用して接続を特定します

http://www.ibm.com/support/knowledgecenter/SSFKSJ_9.0.0/com.ibm.mq.ref.adm.doc/q086140_.htm

を停止STOP CONNを使用して接続: http://www.ibm.com/support/knowledgecenter/SSFKSJ_9.0.0/com.ibm.mq.ref.adm.doc/q086790_.htm

を、これは便利ではない場合(例えば、アプリケーションがキューの前に新しい接続を開始するかもしれません削除された場合)、STOP CHLを試すことができます。しかし、示されているように、他のアプリケーションは、同じチャネルか異なるチャネルを使用するかによって、影響を受ける可能性があります。さらに、チャネル・プロセスをFASTPATHモード(信頼できるリスナー)で実行している場合、FORCEモードは使用できません。

関連する問題