【RabbitMQ】RabbitMQ整合Spring和SpringBoot

本文详细介绍了如何将RabbitMQ整合到Spring和SpringBoot应用中,从依赖配置、生产者和消费者设置,到消息发送和监听的实现,涵盖了fanout、direct、topic三种交换机类型。
摘要由CSDN通过智能技术生成

在已经大致了解了RabbitMQ的消息模式的基础上,可以研究RabbitMQ如何整合Spring和SpringBoot

1、RabbitMQ整合Spring

1.1、依赖

Spring整合RabbitMQ的依赖有两个,一个是spring-context,一个是spring-rabbit

<dependencies>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-context</artifactId>
		<version>5.2.1.RELEASE</version>
	</dependency>
	<dependency>
		<groupId>org.springframework.amqp</groupId>
		<artifactId>spring-rabbit</artifactId>
		<version>2.1.5.RELEASE</version>
	</dependency>
</dependencies>

1.2、编写RabbitMQ的配置文件

在配置文件中,配置rabbitmq-server的相关信息,包括host、port、username、password、virtualhosts。

rabbitmq.host: 192.168.127.131
rabbitmq.port: 5672
rabbitmq.username: admin
rabbitmq.password: 123456
rabbitmq.virtual-host: /

1.3、Producer

1.3.1、编写Spring的配置文件

在Spring配置文件中,将连接工厂、队列、交换机都托管到Spring容器中。
(1)创建连接工厂

<!-- 创建连接工程 -->
<context:property-placeholder location="classpath:rabbitmq.yaml"/>
    <rabbit:connection-factory id="connectionFactory" host="${rabbitmq.host}" port="${rabbitmq.port}"
                               username="${rabbitmq.username}" password="${rabbitmq.password}"
                               virtual-host="${rabbitmq.virtual-host}"
/>
<rabbit:admin connection-factory="connectionFactory"/>

(2)声明队列

<rabbit:queue id="队列类名" name="队列名称" auto-declare="true"/>

示例:

<rabbit:queue id="spring_fanout_queue_1" name="spring_fanout_queue_1" auto-declare="true"/>

(3)声明交换机,绑定交换机和队列

  • fanout交换机:
<rabbit:交换机类型 id="交换机id" name="交换机名字" auto-declare="true">
    <rabbit:bindings>
    	<rabbit:binding queue="绑定的队列名"/>
    </rabbit:bindings>
</rabbit:fanout-exchange>
  • direct交换机
<rabbit:交换机类型 id="交换机id" name="交换机名字" auto-declare="true">
    <rabbit:bindings>
    	<rabbit:binding queue="绑定的队列名" key="路由"/>
    </rabbit:bindings>
</rabbit:fanout-exchange>
  • topic交换机
<rabbit:交换机类型 id="交换机id" name="交换机名字" auto-declare="true">
    <rabbit:bindings>
    	<rabbit:binding queue="绑定的队列名" pattern="路由pattern"/>
    </rabbit:bindings>
</rabbit:fanout-exchange>

示例:

<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值