首页 > 其他分享 >RabbitMQ Direct交换机

RabbitMQ Direct交换机

时间:2023-12-02 20:11:44浏览次数:30  
标签:String Direct RabbitMQ direct 交换机 msg public RoutingKey

 

代码示例:

1. 交换机绑定了两个队列,并给它们设置了RoutingKey

2.  publisher 发送者给 Direct 交换机发消息时,第二个参数指定 RoutingKey:

@GetMapping("/mq03")
public void mq03(){
String exchangeName = "hmall.direct";
String msg = "hello, 红色";
//三个参数:交换机名称、RoutingKey、要发送的消息
rabbitTemplate.convertAndSend(exchangeName, "red", msg);
}

3. 给这两个队列分别绑定一个消费者:

@RabbitListener(queues = "direct.queue1")
public void listenQueue03(String msg) {
System.out.println("消费者收到了direct.queue1的消息:" + msg);
}
@RabbitListener(queues = "direct.queue2")
public void listenQueue04(String msg) {
System.out.println("消费者收到了direct.queue2的消息:" + msg);
}

4. 打印结果:只有 queue1 队列 收到了消息

 

标签:String,Direct,RabbitMQ,direct,交换机,msg,public,RoutingKey
From: https://www.cnblogs.com/gagaya2/p/17872160.html

相关文章

  • RabbitMQ 发送消息到交换机
    发送消息到交换机的代码:@GetMapping("/mq02")//发送消息给交换机publicvoidmq02(){StringexchangeName="hmall.fanout";Stringmsg="hello,每个人";//三个参数:交换机名称、RoutingKey(暂时为空)、要发送的消息rabbitTemplate.convertAndSend(exchangeName,......
  • RabbitMQ Fanout交换机
     容易搞混的点:1.假如publisher给Fanout交换机发送了一条消息,那么Fanout交换机会给每一个绑定到它身上的队列都发送这条消息,也就是说有多少个队列跟它绑定了,这条消息就有几份,每个队列都收到一份。2.假如一个队列绑定了多个消费者,那么该队列在给消费者投递消息时就是轮询,一......
  • rabbitmq的推(push)拉(pull)模式介绍及代码实现
    在rabbitmq中有两种消息处理的模式,一种是推模式/订阅模式/投递模式(也叫push模式),消费者调用channel.basicConsume方法订阅队列后,由RabbitMQ主动将消息推送给订阅队列的消费者;另一种是拉模式/检索模式(也叫pull模式),需要消费者调用channel.basicGet方法,主动从指定队列中拉取消息。推......
  • .net core Razor Page TempData不工作,RedirectToPage后无法获取值怎么办?
    问题:.netcore旧项目更新到.netcore8.0后,发现之前的错误反馈信息显示不出来了,经过反复搜索,询问人工智能无果。之前怀疑/测试过:1.新版浏览器chrome访问https://localhost是否限制了Cookie2.浏览器是否受欧盟Cookie法规的要求进行了限制。3.写法错误RazorpageTempData......
  • RabbitMQ work模型
    默认情况下,MQ队列如果绑定了多个消费者,那么队列在投递消息时就是轮询,一人投递一个(并且一条消息只能投递给监听该队列的某一个消费者)在一个MQ队列上绑定多个消费者的目的是加快队列中消息的处理效率,防止队列中消息的堆积问题。 注:要在消费者的application.yml文件中加上这个......
  • RabbitMQ 接收队列的消息
     代码示例:注:要把这个类加上Component注解packagecom.itheima.amqp_listener;importorg.springframework.amqp.rabbit.annotation.RabbitListener;importorg.springframework.stereotype.Component;@ComponentpublicclassMQListener{@RabbitListener(queues="simpl......
  • RabbitMQ 发送消息到队列(交换机不参与的那种)
    1.导包<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId></dependency>2.在application.yml文件里编写配置信息spring:rabbitmq:host:192.168.88.130port:5672......
  • ubuntu编译软件报错:fatal error: libnet.h: No such file or directory
    参考:https://blog.csdn.net/wuyou1995/article/details/104742326/  ---------------------------------------     解决方法:sudoapt-getinstalllibnet1-dev ......
  • 【Spring】SpringBoot+RabbitMQ(direct/fanout/topic)の構築方法
     ■POM.xmlの中で、下記の内容を追加<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId></dependency><dependency>......
  • 使用RabbitMQ时使用MemoryPack序列化和反序列化对象
    [MemoryPackable]publicpartialclassUserEto{publicStringName{get;set;}} 发送端publicclassEventBus:IEventBus{publicvoidPublish(stringexchangeName,objecteventData){usingvarconnection=RabbitMQ......