欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

rabbitMQ系列高级整合应用Spring AMQP 博客分类: 凯哥MQ  

程序员文章站 2024-03-18 16:00:46
...

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

rabbitMQ系列高级整合应用Spring AMQP
            
    
    博客分类: 凯哥MQ  

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

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

rabbitMQ系列高级整合应用Spring AMQP
            
    
    博客分类: 凯哥MQ  

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

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

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

说明:

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

topic的:

rabbitMQ系列高级整合应用Spring AMQP
            
    
    博客分类: 凯哥MQ  

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

rabbitMQ系列高级整合应用Spring AMQP
            
    
    博客分类: 凯哥MQ  

查看交换机:
rabbitMQ系列高级整合应用Spring AMQP
            
    
    博客分类: 凯哥MQ  

查看绑定关系:

topic001这个交换机为例:

rabbitMQ系列高级整合应用Spring AMQP
            
    
    博客分类: 凯哥MQ  

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

我们查看代码:
rabbitMQ系列高级整合应用Spring AMQP
            
    
    博客分类: 凯哥MQ  

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

本节总结:

通过bean注解获取exchangebindingqueue对象。

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

下节预告:

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