Rabbitmq源码示例(生产者/消费者,非持久化/持久化)

本文通过代码示例详细解释了RabbitMQ中非持久化和持久化生产者及消费者的实现过程,包括连接配置、消息发送和接收的步骤,展示了如何设置消息持久化属性确保数据可靠性。
摘要由CSDN通过智能技术生成


非持久化生产者


        static void TestThreadFun()
        {
            string queueName = "hello";
            string message = "abcdefghijklmnopqrstuvwxyz一二三四五六七八九十0123456789";
            var body = Encoding.UTF8.GetBytes(message);
            ConnectionFactory factory = new ConnectionFactory();
            factory.HostName = "10.5.8.108"; // Rabbitmq服务器地址
            factory.UserName = "vcyber"; // Rabbitmq服务中预先分配的账号(账号的权限决定后面的操作是否合法)
            factory.Password = "123456"; // Rabbitmq服务账号的密码
            bool durable = false;     // 是否持久化


            using (var connection = factory.CreateConnection())
            {
                using (var channel = connection.CreateModel())
                {
   // 声明一个队列,并且指定队列名称和属性
   // queueName:队列名称
   // durable:非 持久化
   // false1:非 所有生产者断开连接之后,自动销毁消息队列
   // false2:非 所有消费者断开连接之后,自动销毁消息队列
   // null: 
   // 备注:如果同名的消息队列已经存在,且新指定的属性与已存在的不同,则抛出异常
                    channel.QueueDeclare(queueName, durable, false, false, null);


                    for (int i = 0; i < nRequestCount; ++i)
                    {
// 发送一个消息
// "":交换机名称
// queueName:路由键
// null:
// body:发送数据
                        channel.BasicPublish("",

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值