rabbit


    // 定义队列 helloworld,服务器不存在这个队列会新建队列,反之使用已存在的队列
    // 在这里告诉服务器,让服务器准备好这个队列
    c.queueDeclare(
            "helloworld",
            false,          // 是否是持久队列
            false,         // 是否是排他队列(独占)
            false,       // 是否自动删除
            null);       // 其他的属性配置

<<-------
// 定义交换机
c.exchangeDeclare(“log”, BuiltinExchangeType.FANOUT);
--------->>
<<<-------
// 定义交换机
c.exchangeDeclare(“direct_logs”, BuiltinExchangeType.DIRECT);
--------->>>
<<<<-------
// 定义交换机
c.exchangeDeclare(“topic_logs”, BuiltinExchangeType.TOPIC);
------->>>>

			  // 发送消息
    c.basicPublish(
            "",                 // 第三种模式才会用到
            "helloworld",
            null,                  // 针对发送的这条消息,可以添加其他属性设置
            "Hello world!".getBytes());

<----
c.basicPublish(
“”,
“task_queue”,
MessageProperties.PERSISTENT_TEXT_PLAIN,
msg.getBytes());
----->
<<---------
/*
参数:
1. 交换机的名称,简单模式和工作模式使用了默认的direct交换机
2. 用来指定队列,对于fanout交换机这个参数无效
3. 其他属性
4.
/
c.basicPublish(“log”, “”, null, msg.getBytes());
----------->>
<<<---------
/

第二个参数: 路由键,和绑定键进行匹配,将消息路由到匹配的队列
对于默认交换机这里用队列名来路由消息
/
c.basicPublish(“direct_logs”, key, null, msg.getBytes());
----------->>>
<<<<--------
/

第二个参数: 路由键,和绑定键进行匹配,将消息路由到匹配的队列
对于默认交换机这里用队列名来路由消息
*/
c.basicPublish(“topic_logs”, key, null, msg.getBytes());
------>>>>

//定义队列,要求服务器先把队列准备好
c.queueDeclare(“helloworld”,false,false,false,null);
<<---------
// 先做三件事: 1.定义队列 2.定义交换机 3.绑定
String queue = UUID.randomUUID().toString();
c.queueDeclare(queue, false, true, true, null);
c.exchangeDeclare(“log”, BuiltinExchangeType.FANOUT);
c.queueBind(queue, “log”, “”);
------------>>
<<<------
// 1.定义队列 2.定义交换机 3.绑定,要指定绑定键
// 让服务器自动命名,默认属性: false,true,true 非持久,独占,自动删除
String queue = c.queueDeclare().getQueue();
c.exchangeDeclare(“direct_logs”, BuiltinExchangeType.DIRECT);
------>>>
<<<<-----
// 1.定义队列 2.定义交换机 3.绑定,要指定绑定键
// 让服务器自动命名,默认属性: false,true,true 非持久,独占,自动删除
String queue = c.queueDeclare().getQueue();
c.exchangeDeclare(“topic_logs”, BuiltinExchangeType.TOPIC);
------->>>>

//从队列接收数据(消费数据)
//c.basicConsume(“helloworld”,true,用来处理消息的回调对象,取消消息处理时的回调对象);
c.basicConsume(“helloworld”,true,deliverCallback,cancelCallback);
<-------
// 开始消费数据之前,把qos设置成1
c.basicQos(1);

    // 消费数据
    /*
    第二个参数 autoAck - 是否自动确认
      true - 自动确认
      false - 手动确认
     */
    c.basicConsume("task_queue", false, deliverCallback, cancelCallback);

------------>

<<--------
// 从 queue 队列消费消息
c.basicConsume(queue, true, deliverCallback, cancelCallback);
----------->>
<<<---------------
c.basicConsume(queue, true, deliverCallback, cancelCallback);
-------------->>>
<<<<-------
c.basicConsume(queue, true, deliverCallback, cancelCallback);
----------->>>>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值