Springboot中整合RabbitMq之Topic模式(单个springboot项目)

本文介绍了在Springboot中如何整合RabbitMq的Topic模式,包括配置、代码实现和问题解决。通过示例展示了如何发送和接收消息,以及遇到的交换机类型冲突问题及解决方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一 . RabbitMq的Topic Exchange 模式

    生产者将消息发送给Exchange,依据是路由关键字 routingkey (如 : topic.message);

    绑定Exchange与Queues队列的依据是bindingKey(如 :topic.#)

代码发送的时候还是一样,第一个参数表示交换机,第二个参数表示routing key,第三个参数即消息。如下:

rabbitTemplate.convertAndSend("testTopicExchange","key1.a.c.key2", " this is  RabbitMQ!");

重新认识routingkey和bindingKey:

RabbitMq配置类:


发送消息类的时候:


发送消息时候的routingkey是topic.message,既满足 topic.message,又满足 topic.#, 所以两个消息队列都能收到消息;


如改成routingkey是topic.messages, 则只满足topic.#而不满足topic.message,所以运行结果只有messages那一条:



二 . 代码

1.导包 

        <dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-amqp</artifactId>
		</dependency>

2. 在yaml文件中配置rabbitMq的基本配置;

server:
  port: 8080
spring:
  application:
    name: springboot_rabbitmq_topic
  rabbitmq:
    host: localhost
    port: 5672
    username: guest
    password: guest

3. 书写RabbitMq的配置类:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值