public void Purge(string remoteQueueName) { using (var advancedBus = RabbitHutch.CreateBus(_connectionString).Advanced) { var existingQueue = new EasyNetQ.Topology.Queue(remoteQueueName, false); advancedBus.QueuePurge(existingQueue); } }
/// <summary> /// 入口 /// </summary> /// <param name="args">参数</param> static void Main(string[] args) { var bus = RabbitHutch.CreateBus("host=localhost;username=dxq;password=dxq"); //接收简单消息 bus.Subscribe <MyTextMessage>("EasyNetMQ.Receiver.MyTextMessage", x => { Console.WriteLine($"接收了MyTextMessage消息:{x.Text}"); }); //接收Topic消息 bus.Subscribe <string>("EasyNetMQ.Receiver.TopicMyTextMessage", x => { var message = JsonConvert.DeserializeObject <MyTextMessage>(x); Console.WriteLine($"接收了Topic消息:{message.Text}"); }, o => { o.WithTopic(typeof(MyTextMessage).FullName); }); //接收高级消息 var queue = bus.Advanced.QueueDeclare("EasyNetMQ.Receiver.AdvanceMyTextMessage"); var exchange = bus.Advanced.ExchangeDeclare("EasyNetMQ.Exchange", ExchangeType.Topic); bus.Advanced.Bind(exchange, queue, routingKey: typeof(MyTextMessage).Name); bus.Advanced.Consume <string>(queue, (message, info) => { throw new Exception("处理消息时发送了错误"); //Console.WriteLine($"接收了高级消息:{message.Body}"); }); var errorqueue = new EasyNetQ.Topology.Queue("EasyNetQ_Default_Error_Queue", isExclusive: false); bus.Advanced.Consume <Error>(errorqueue, (message, info) => { Console.WriteLine($"接收了处理时发生异常的消息:{message.Body.Message}"); }); Console.WriteLine("按任意键退出"); Console.ReadKey(); bus.Dispose(); }
public List <Model.Queue> PopulateMessageCounts(List <Model.Queue> deliveryQueues) { try { using (var advancedBus = RabbitHutch.CreateBus(_connectionString).Advanced) { foreach (var queue in deliveryQueues) { var existingQueue = new EasyNetQ.Topology.Queue(queue.Name, false); queue.MessageCount = advancedBus.MessageCount(existingQueue); } } return(deliveryQueues); } catch (Exception ex) { throw ex; } }