数回I生産を通して、メッセージを送信するに青色のうちネット(C位、4.0)アプリケーションから次のエラーを受信した:IBMのWebSphere XMS.Net CWSMQ0082Eエラー
CWSMQ0082E: Failed to send to CompCode: 2, Reason: 2009. A problem was encountered whilst sending a message. See the linked exception for more information.
もちろん、LinkedException
(なぜInnerException
IBMを使用していないのですか?)は空です。つまり、情報がありません。私が使用している
コード(非常に簡単):
はvar m = _session.CreateBytesMessage();
m.WriteBytes(mybytearray);
m.JMSReplyTo = myreplytoqueue;
m.SetIntProperty(XMSC.JMS_IBM_MSGTYPE, MQC.MQMT_DATAGRAM);
m.SetIntProperty(XMSC.JMS_IBM_REPORT_COA, MQC.MQRO_COD);
m.SetIntProperty(XMSC.JMS_IBM_REPORT_COD, MQC.MQRO_COA);
myproducer.Send(m, DeliveryMode.Persistent, mypriority, myttl);
(Offtopic:。私はプロパティを設定するSetIntProperty
方法を憎むどちらが<虚辞が>を削除し、そのアイデアを思い付いたことを見て年齢を取ります? )。
例外は.Sendメソッドでスローされます。私はXMS.Net(IA9H/2.0.0.7)を使用しています。 only Google resultそのturns upは別の理由コードを持っていることが判明しています(それが同じであっても、私が正しく理解すれば私のバージョンで修正する必要があります)。これはランダムに発生します(ただし、メッセージが送受信されてからしばらくしているように見えます)、これを再現する方法はありません。
私はab-so-lute-ly いいえアイデアを持っています。これはサーバー側によって引き起こされたものですか?それはXMS.netや基礎を成すIBM WebSphere MQインフラストラクチャによって引き起こされますか?
私はは似が0よりも高いか、「真」/「はい」に任意の値にSHARECNV
を設定するために示唆されているが、the documentationが明示的にデフォルトでも10です私に語ったように見えることを発見し、一部の結果。私はこれが原因であるかどうか分かりませんので、別の値に変更するとショットガンのように感じられます。
誰でもこれを解決する方法についての任意のアイデアですか?私はもちろん例外を捕まえることができ、すべて(チャネル、セッション、何でも)引き裂き再開することができますが、それは単なる醜いIMHOです。
こんにちは、ご回答いただきありがとうございます。私はこの質問を投稿した後、私のクライアントを7.1.0.0にアップグレードし、オートリコネクト機能を使って試しました。 MQサーバのバージョンは6.x(正確にはわからない)であり、自動接続が動作するためには、サーバのバージョンが7.0.1である必要があります。私は「相手側」を支配していないので、私はこれについて何もできません。私は恐れています。 私があなたが提案した他の提案を調べます。 – RobIII
ああ、ところで、すべてのMQオブジェクト(接続、セッション、プロデューサ/コンシューマなど)を再構築するのは地獄です。私は、これらのオブジェクト(または、少なくとも、その通信部分)を使用して、全体的な(Windows NT)サービスを解体し、「再起動」することを検討しています。 .. – RobIII
それは少し醜いと思うが、あなたが言うように、それは速くて汚いが効果的で安全です。 V6は9月末に廃止されたので、V7.x QMgrをすぐに使えるようになります。これがあなたのWMQ管理チームのニュースであれば、私にオフラインで連絡してください。彼らにEOS発表へのリンクを与えて、移行について彼らに話すことができます。 v7.1のセキュリティ機能は、v7.0を完全にスキップできるほど魅力的です。 –