2017-12-01 4 views
0

は私がキューを作成:キューが削除されていることを知るには?

 _channel = rmqConnection.CreateModel(); 
     _channel.QueueDeclare("myqueue", false, false, false, null); 
     _channel.BasicAcks += _channel_BasicAcks; 
     _channel.BasicNacks += _channel_BasicNacks; 
     _channel.BasicRecoverOk += _channel_BasicRecoverOk; 
     _channel.BasicReturn += _channel_BasicReturn; 
     _channel.CallbackException += _channel_CallbackException; 
     _channel.FlowControl += _channel_FlowControl; 
     _channel.ModelShutdown += _channel_ModelShutdown; 

をして、私は(と場合)キューが削除されますときにイベントにサブスクライブしたいと思います。 これをテストするために私が手動でキューを削除すると、私はイベントを処理できません。

キューの削除と破棄に関するイベントを処理するにはどうすればよいですか?

P.S.新しいコードを追加してください:

 var consumer = new EventingBasicConsumer(_channel); 
     consumer.Received += OnMessageRecieved; 
     consumer.ConsumerCancelled += Consumer_ConsumerCancelled; 
     consumer.Registered += Consumer_Registered; 
     consumer.Shutdown += Consumer_Shutdown; 
     consumer.Unregistered += Consumer_Unregistered; 
     _channel.BasicConsume(SharebleConst.RmqQueueName, false, consumer); 

キューを作成すると、Consumer_Registeredが発生します。 私はConsumer_ConsumerCancelledがは、キューが削除された場合に通知を受け取るための方法は、ありません

+1

ちょっと好奇心:これは何のために必要ですか? – Evk

+0

キューはどこで破棄されていますか? – lucky

+0

@Rainman、私は管理パネルからマニュアルを削除します。しかし、生産現場では、このキューも削除されています(マニュアルではありません) –

答えて

1

を上昇し、キューを削除します。

通知交換を使用して独自のツールを実装し、キューを作成または破棄するたびにメッセージを送信できます。

またはgenralに、ステータスメッセージの変更を送信します。

関連する問題