【发布时间】:2019-12-09 18:04:00
【问题描述】:
我们尝试在 dotnet 中的 RabbitMQ 上删除队列时收到通知。 RabbitMQ 的“启用 rabbitmq_event_exchange”命令似乎启用了它。 https://www.rabbitmq.com/event-exchange.html
我们使用下面链接中的 (java) 示例作为 .net 实现的灵感。
https://github.com/rabbitmq/rabbitmq-event-exchange/blob/master/examples/java/QueueEvents.java
这是我们目前实现的基本功能:
using RabbitMQ.Client;
using RabbitMQ.Client.Events;
using System;
namespace *.QueueListener
{
public class CustomEventingBasicConsumer : EventingBasicConsumer
{
public CustomEventingBasicConsumer(IModel model) : base(model)
{
}
public override void HandleBasicDeliver(string consumerTag, ulong deliveryTag, bool
redelivered, string exchange, string routingKey, IBasicProperties properties, byte[] body)
{
Console.WriteLine(routingKey);
base.HandleBasicDeliver(consumerTag, deliveryTag, redelivered, exchange, routingKey,
properties, body);
}
}
}
我们希望收到路由键的通知。正如 if (event.equals("queue.created")) 的 java 示例中所发生的那样,但是,除了我在另一边发布的消息之外,没有记录任何消息。
关于我们如何接收这些消息有什么想法吗?
(我们使用的是 RabbitMQ 3.7.8)
【问题讨论】:
-
您是否启用了
rabbitmq_event_exchange插件?