RabbitMQ–集成Springboot–09–Spring AMQP的主要对象
1、主要对象
1.1、Queue
对应RabbitMQ中Queue
1.2、AmqpTemplate
- 接口
- 用于向RabbitMQ发送和接收Message
1.3、RabbitTemplate
- AmqpTemplate的实现类
1.4、@RabbitListener
- 指定消息接收方
- 可以配置在类和方法上
1.5、@RabbitHandler
- 指定消息接收方
- 只能配置在方法上
- 可以与@RabbitListener一起使用
1.6、Message
对RabbitMQ消息的封装
1.7、Exchange
- 对RabbitMQ的Exchange的封装
- 子类有
- TopicExchange
- FanoutExchange
- DirectExchange等
1.8、Binding
- 将一个Queue绑定到某个Exchange
- 本身只是一个声明,并不做实际绑定操作
1.9、AmqpAdmin
- 接口
- 用于Exchange和Queue的管理,比如创建/删除/绑定等,自动检查Binding类并完成绑定操作
1.10、RabbitAdmin
- AmqpAdmin的实现类
1.11、ConnectionFactory
- 创建Connection的工厂类
- RabbitMQ也有一个名为ConnectionFactory的类但二者没有继承关系
- Spring ConnectionFactory可以认为是对RabbitMQ ConnectionFactory的封装
1.12、CachingConnectionFactory
- Spring ConnectionFactory的实现类
- 可以用于缓存Channel和Connection
1.13、Connection
- Spring中用于创建Channel的连接类
- RabbitMQ也有一个名为Connection的类,但二者没有继承关系
- Spring Connection是对RabbitMQ Connection的封装
1.14、SimpleConnection
- Spring Connection的实现类
- 将实际工作代理给RabbitMQ的Connection类
1.15、MessageListenerContainer
- 接口
- 消费端负责与RabbitMQ服务器保持连接并将Message传递给实际的@RabbitListener/@RabbitHandler处理
1.16、RabbitListenerContainerFactory
- 接口
- 用于创建MessageListenerContainer
1.17、SimpleMessageListenerContainer
- MessageListenerContainer的实现类
1.18、SimpleRabbitListenerContainerFactory
RabbitListenerContainerFactory的实现类
2、需要做的配置对象
2.1、生产者
- 配置CachingConnectionFactory
- 配置Exchange/Queue/Binding
- 配置RabbitAdmin创建上一步的Exchange/Queue/Binding
- 配置RabbitTemplate用于发送消息,RabbitTemplate通过CachingConnectionFactory获取到Connection,然后想指定Exchange发送
2.2、消费者
- 配置CachingConnectionFactory
- 配置Exchange/Queue/Binding
- 配置RabbitAdmin创建上一步的Exchange/Queue/Binding
- 配置RabbitListenerContainerFactory
- 配置@RabbitListener/@RabbitHandler用于接收消息
2.2、默认情况下主要的配置
|