rabbitMQ系列高级整合应用Spring AMQP

简介 在Rabbit基础的API中,声明一个exchange、声明一个绑定、声明一个队列都是通过channel创建出来的。如下图:那么在springAMQP中这些对象是怎么声明的?在使用springAMQP去声明,就需要使用springAMQP的如下模式。即使用@Bean模式:下面我们就进行代码演示:在上一篇代码中修改RabbitMQConfig类。添加如下:/*** 针对消费者配置*1.&n

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

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

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

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

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

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

说明:

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

如topic的:

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

查看交换机:

查看绑定关系:

以topic001这个交换机为例:

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

我们查看代码:

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

本节总结:

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

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

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

下节预告:

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


Top Top