RabbitMQ具体使用
RabbitMQ 具体 使用
2023-09-14 08:57:06 时间
上篇简述了 RabbitMQ环境准备/环境搭建,本片在上篇的基础上讲述RabbitMQ具体使用
1、新建.NET Framwork console控制台项目ConsoleRabbitMQ项目(生产者,即产生消息的)
2、对控制台项目ConsoleRabbitMQ项目使用NuGet程序管理包添加RabbitMQ.Client
3、控制台项目ConsoleRabbitMQ项目的Program代码如下
using RabbitMQ.Client; using RabbitMQ.Client.Events; using System; using System.Text; namespace ConsoleRabbitMQConsume { class Program { static void Main(string[] args) { var connectFactory = new ConnectionFactory { HostName = "localhost", UserName = "guest", Password = "guest" }; using (var conn = connectFactory.CreateConnection()) { using (var model = conn.CreateModel()) { Console.WriteLine($"消费者连接成功"); model.QueueDeclare("queue", false, false, false, null); var consume = new EventingBasicConsumer(model); //consume.Received += Consume_Received; consume.Received += (a, b) => { Console.WriteLine($"这是消费者据接收数据:{Encoding.UTF8.GetString(b.Body)}"); }; model.BasicConsume("queue", false, consume); Console.Read(); } } } private static void Consume_Received(object sender, BasicDeliverEventArgs e) { Console.WriteLine($"接收数据:{Encoding.UTF8.GetString(e.Body)}"); } } }
4、新建.NET Framwork console控制台项目ConsoleRabbitMQConsume项目(消费者,即接收消息的)
5、对控制台项目ConsoleRabbitMQConsume项目使用NuGet程序管理包添加RabbitMQ.Client
6、控制台项目ConsoleRabbitMQConsume项目的Program代码如下
using RabbitMQ.Client; using RabbitMQ.Client.Events; using System; using System.Text; namespace ConsoleRabbitMQConsume { class Program { static void Main(string[] args) { var connectFactory = new ConnectionFactory { HostName = "localhost", UserName = "guest", Password = "guest" }; using (var conn = connectFactory.CreateConnection()) { using (var model = conn.CreateModel()) { Console.WriteLine($"消费者连接成功"); model.QueueDeclare("queue", false, false, false, null); var consume = new EventingBasicConsumer(model); //consume.Received += Consume_Received; consume.Received += (a, b) => { Console.WriteLine($"这是消费者据接收数据:{Encoding.UTF8.GetString(b.Body)}"); }; model.BasicConsume("queue", false, consume); Console.Read(); } } } private static void Consume_Received(object sender, BasicDeliverEventArgs e) { Console.WriteLine($"接收数据:{Encoding.UTF8.GetString(e.Body)}"); } } }
7、启动RabbitMQ服务
输入命令:rabbitmq-service start
浏览器中输入:http://localhost:15672/#/,点击Connections,Channels,Queues可以查看相关信息,如下
8、分别启动ConsoleRabbitMQ.exe和ConsoleRabbitMQConsume.exe这个两个项目,运行效果如下
相关文章
- RabbitMQ & 死信队列DLX & TTL+DLX实现延迟队列
- RabbitMQ学习笔记(七)——RabbitMQ分布式事务框架
- RabbitMQ流控-FLow Control
- 怎么保证RabbitMQ和kafuka集群的高可用性?
- RabbitMQ VS Apache Kafka (九)—— RabbitMQ集群的分区容错性与高可用性
- 11-RabbitMQ高级特性-消息可靠性投递
- 10-Spring Boot整合RabbitMQ
- rabbitmq集群搭建_集群搭建步骤
- 02-RabbitMQ特性原理与集群架构解析
- 16-RabbitMQ高级特性-消费端的消息ACK与重回队列
- 【瞎记】rabbitmq慕课网笔记
- Rabbitmq加密套件详解
- RabbitMQ之消息可靠性问题(含Demo工程)
- RabbitMQ——镜像队列Master故障后的处理
- rabbitmq——索引文件的读写机制
- RabbitMq TTL+死信队列 延迟消息问题记录
- RabbitMQ之死信队列