単純なRabbitMQテストプログラムがランダムにメッセージをキューに入れ、別のプログラムがそれらを読み取り、すべてSpring-AMQPを使用しています。コンシューマーが死亡した場合(たとえば、接続またはチャネルを閉じる機会がないままプロセスを強制終了した場合)、確認応答されなかったメッセージは、永久に未確認のままであるように見えます。
接続がない場合にチャネルが停止し、残りの未確認のメッセージが再配信されるという多くの参照(たとえば、この質問)を見てきました。これは私が見ている動作ではありません。代わりに、IDLEとマークされたチャネルのリストと、実行中とマークされているがアクティビティがない接続のリストが増えています。
プロセスが強制終了された後、接続が切断されたことを通知するために必要な構成はありますか?
編集: VirtualBox VM内でrabbitmqサーバーを実行していましたが、NATを介したデッドインバウンド接続を正しく管理していないようです。これは、物理ホスト上で直接実行されているmqサーバーで問題なく機能します。