1

私は、RabbitMQ をトランスポートとして使用し、RavenDB を永続化メカニズムとして使用して、単純な saga プロトタイプ プロジェクトを作成しました。プロトタイプは実際には期待どおりに実行されますが、数秒ごとに次のエラー メッセージが表示されます。

エラー NServiceBus.Transports.RabbitMQ.RabbitMqDequeueStrategy [Assembly] からメッセージを受信できませんでした。再試行 System.AggregateException: 1 つ以上のエラーが発生しました。--> System.IO.EndOfStreamException: RabbitMQ.Util.SharedQueue 1.EnsureIsOpen() at RabbitMQ.Util.SharedQueue1.Dequeue(int 32 ミリ秒のタイムアウトで SharedQueue が閉じられました......

また、上記のメッセージの直後にほぼ同じメッセージが表示されますが、RabbitMGPoller.Timeouts からメッセージを受信できませんでしたと表示されます

それに加えて、次のような一定の INFO メッセージがあります: NServiceBus.Transports.RabbitMQ.RabbitMqConnectionManager RabbitMQ ブローカーから切断されました。 .IOException: トランスポート接続にデータを書き込めません: 既存の接続がリモート ホストによって強制的に閉じられました。---> System.Net.Sockets.SocketException: 既存の接続がリモート ホストによって強制的に閉じられました...

DequeueTimeout=600 値をトランスポート接続に追加しようとしましたが、同じエラーが引き続き発生します。また、構成ファイルに次のキーを追加しようとしましたが、それでも役に立たないようです。

4

1 に答える 1

0

私は最終的にそれを理解しました.RabbitMQとNServiceBusの理解が不足しているだけです. RabbitMQ 接続の RequestedHeartbeat 値をより大きな値、つまり RequestedHeartbeat=6000 に変更しました。それは私の問題を解決しました。

于 2016-01-07T20:45:49.473 に答える