其他分享
首页 > 其他分享> > rabbitMQ系列高级整合应用Spring AMQP

rabbitMQ系列高级整合应用Spring AMQP

作者:互联网

在Rabbit基础的API中,声明一个exchange、声明一个绑定、声明一个队列都是通过channel创建出来的。如下图:

image1.png

那么在spring AMQP中这些对象是怎么声明的?

在使用springAMQP去声明,就需要使用springAMQP的如下模式。即使用@Bean模式:

image2.png

下面我们就进行代码演示:

在上一篇代码中修改RabbitMQConfig类。添加如下:

/**
* 针对消费者配置
* 1. 设置交换机类型
* 2. 将队列绑定到交换机
FanoutExchange: 将消息分发到所有的绑定队列,无routingkey的概念
HeadersExchange :通过添加属性key-value匹配
DirectExchange:按照routingkey分发到指定队列
TopicExchange:多关键字匹配
*/

说明:

我们需要根据不同的交换机特性进行设置。

如topic的:

image3.png

启动测试代码,查看队列:

image4.png

查看交换机:
image5.png

查看绑定关系:

以topic001这个交换机为例:

image6.png

绑定了两个队列。队列1和队列3.routingkey分别为:spring.*和mq.*.到底对不对呢?

我们查看代码:
image7.png

可以看到代码中确实是这么绑定的。说明,我们声明队列、绑定、交换机成功。

本文由凯哥Java(凯哥Java)发布于51CTO。凯哥公众号:凯哥Java(kaigejava)。个人博客:www.kaigejava.com

本节总结:

通过bean注解获取exchange、binding、queue对象。

本文是《rabbitMq精讲系列》教程中的:rabbitMQ精讲系列第十九篇 高级整合应用第二篇 Spring AMQP声明。系列教程,建议从第一篇看起。

下节预告:

下节课,我们将讲解一个重要对象rabbitTemplate对象。



标签:AMQP,队列,Spring,绑定,rabbitMQ,交换机,声明,routingkey
来源: https://blog.51cto.com/kaigejava/2426569