0

メッセージの取得と書き込みに IBM MQ 7.0 を使用しています。1 つのキューからすべてのメッセージを取得できませんでした。いくつかのメッセージを取得できましたが、取得できないメッセージはほとんどありません。私のアプリケーションは 5 回取得しようとしていますが、理由コード = 2009 および完了コード = 2 としてエラーが発生しています。これは非常に頻繁に発生しており、少数のメッセージでのみ発生している理由がわかりません。これらのメッセージを再度キューに再処理すると、再び機能します。他のキューは同じサーバーで正常に動作しており、このエラーが発生しているのは 2 つのキューだけです。前もって感謝します

4

3 に答える 3

0

この修正は、WMQクライアントv7.0.1.0のみを対象としています。その正確なバージョンを使用していますか?第二に、APARによると、「約32000バイトを超えるメッセージ」です。それで、あなたのメッセージは32000バイトよりも大きいですか?

2009年のRCは、通常、チャンネル名が間違っていることを意味します。チャネル名では大文字と小文字が区別されます。たとえば、JAVA.CHLはjava.chlと同じではなく、Java.Chlとも同じではありません。

runmqscを介してチャネルを次のように定義する場合:

define channel(java.chl) CHLTYPE(SVRCONN) TRPTYPE(TCP)

チャネル名を引用符で囲んでいないため、MQはチャネル名(JAVA.CHLなど)を定義するときに大文字にします。したがって、MQでは常に名前を大文字にするのが最善です。

于 2012-11-15T17:00:00.853 に答える
0

7.0.1.8にアップグレードした後、問題が修正されました。

于 2012-12-14T17:46:07.210 に答える
0

2009「接続切れ」です。その時点より前の 5 つの失敗 (何らかの説明の MQGET) の完了コードと理由コードを確認する必要があります。

それがわかれば、問題を特定するのははるかに簡単になります。一般に MQ から得られる適切なエラー コードを考えると、おそらく目もくらむほど明白でしょう :-)

最初に発生したエラーが である場合2009、IBM には、最も一般的な原因に関する記事があり、参照することをお勧めします。

于 2012-11-15T08:37:35.300 に答える