文档章节

Spring 配置RabbitMQ

y
 yan5845hao
发布于 2017/05/21 15:24
字数 630
阅读 25
收藏 0

需要使用的包

 <dependency>
     <groupId>org.springframework.amqp</groupId>
     <artifactId>spring-amqp</artifactId>
     <version>1.0.0.RELEASE</version>
</dependency>
<dependency>
       <groupId>org.springframework.amqp</groupId>
       <artifactId>spring-rabbit</artifactId>
       <version>1.0.0.RELEASE</version>
</dependency>

fanout交换器配置

    <!-- 连接rabbitmq-->
    <rabbit:connection-factory id="connectionFactory"
        host="10.211.55.8" port="5672"
        username="uwo" password="yan5845hao"
        virtual-host="/"/>
    
    <rabbit:admin connection-factory="connectionFactory"/>

    <!-- 声明队列-->
    <rabbit:queue name="uwo.rabbitMQ.test" durable="true" auto-delete="false" exclusive="false" />
    <!--Fanout: 不管消息的routing key和参数表的头信息/值是什么, 消息将会路由到该队列上。-->
    <rabbit:fanout-exchange name="uwo.fanout" durable="true" auto-delete="false">
        <rabbit:bindings>
            <rabbit:binding queue="uwo.rabbitMQ.test"/>
        </rabbit:bindings>
    </rabbit:fanout-exchange>

    <!--定义rabbit template用于数据的接收和发送-->
    <rabbit:template id="rabbitTemplate"  exchange="uwo.fanout" connection-factory="connectionFactory"/>

    <!-- 监听的队列-->
    <rabbit:listener-container connection-factory="connectionFactory" acknowledge="auto">
        <rabbit:listener ref="listen"  method="listen" queue-names="uwo.rabbitMQ.test" />
    </rabbit:listener-container>

    <!-- 监听器-->
    <bean id="listen" class="com.uwo.resources.ui.mq.QueueListener"/>

topic交换器配置

    <!-- 连接rabbitmq-->
    <rabbit:connection-factory id="connectionFactory"
        host="10.211.55.8" port="5672"
        username="uwo" password="yan5845hao"
        virtual-host="/"/>
    
    <rabbit:admin connection-factory="connectionFactory"/>

    <!-- 声明队列-->
    <rabbit:queue name="uwo.rabbitMQ.test" durable="true" auto-delete="false" exclusive="false" />
    <!--Fanout: 不管消息的routing key和参数表的头信息/值是什么, 消息将会路由到该队列上。-->
    <rabbit:topic-exchange name="uwo.topic" durable="true" auto-delete="false">
        <rabbit:bindings>
            <rabbit:binding queue="uwo.rabbitMQ.test" pattern="#.asm" />
            <rabbit:binding queue="uwo.rabbitMQ.test" pattern="#.aspectj" />
        </rabbit:bindings>
    </rabbit:topic-exchange>

    <!--定义rabbit template用于数据的接收和发送-->
    <rabbit:template id="rabbitTemplate"  exchange="uwo.topic" connection-factory="connectionFactory"/>

    <!-- 监听的队列-->
    <rabbit:listener-container connection-factory="connectionFactory" acknowledge="auto">
        <rabbit:listener ref="listen"  method="listen" queue-names="uwo.rabbitMQ.test" />
    </rabbit:listener-container>

    <!-- 监听器-->
    <bean id="listen" class="com.uwo.resources.ui.mq.QueueListener"/>

direct交换器配置

    <!-- 连接rabbitmq-->
    <rabbit:connection-factory id="connectionFactory"
        host="10.211.55.8" port="5672"
        username="uwo" password="yan5845hao"
        virtual-host="/"/>
    
    <rabbit:admin connection-factory="connectionFactory"/>

    <!-- 声明队列-->
    <rabbit:queue name="uwo.rabbitMQ.test" durable="true" auto-delete="false" exclusive="false" />
    <!--Fanout: 不管消息的routing key和参数表的头信息/值是什么, 消息将会路由到该队列上。-->
    <rabbit:direct-exchange name="uwo.direct" durable="true" auto-delete="false">
        <rabbit:bindings>
            <rabbit:binding queue="uwo.rabbitMQ.test" key="com.uwo.asm"></rabbit:binding>
            <rabbit:binding queue="uwo.rabbitMQ.test" key="com.uwo.aspectj"></rabbit:binding>
        </rabbit:bindings>
    </rabbit:direct-exchange>

    <!--定义rabbit template用于数据的接收和发送-->
    <rabbit:template id="rabbitTemplate"  exchange="uwo.direct" connection-factory="connectionFactory"/>

    <!-- 监听的队列-->
    <rabbit:listener-container connection-factory="connectionFactory" acknowledge="auto">
        <rabbit:listener ref="listen"  method="listen" queue-names="uwo.rabbitMQ.test" />
    </rabbit:listener-container>

    <!-- 监听器-->
    <bean id="listen" class="com.uwo.resources.ui.mq.QueueListener"/>

headers交换器配置

    <!-- 连接rabbitmq-->
    <rabbit:connection-factory id="connectionFactory"
        host="10.211.55.8" port="5672"
        username="uwo" password="yan5845hao"
        virtual-host="/"/>
    
    <rabbit:admin connection-factory="connectionFactory"/>

    <!-- 声明队列-->
    <rabbit:queue name="uwo.rabbitMQ.test" durable="true" auto-delete="false" exclusive="false" />
    <!--Fanout: 不管消息的routing key和参数表的头信息/值是什么, 消息将会路由到该队列上。-->
    <rabbit:headers-exchange name="uwo.headers" durable="true" auto-delete="false">
        <rabbit:bindings>
            <rabbit:binding queue="uwo.rabbitMQ.test" key="uwo" value="yanhao"></rabbit:binding>
            <rabbit:binding queue="uwo.rabbitMQ.test" key="YH" value="uwowu"></rabbit:binding>
        </rabbit:bindings>
    </rabbit:headers-exchange>

    <!--定义rabbit template用于数据的接收和发送-->
    <rabbit:template id="rabbitTemplate"  exchange="uwo.headers" connection-factory="connectionFactory"/>

    <!-- 监听的队列-->
    <rabbit:listener-container connection-factory="connectionFactory" acknowledge="auto">
        <rabbit:listener ref="listen"  method="listen" queue-names="uwo.rabbitMQ.test" />
    </rabbit:listener-container>

    <!-- 监听器-->
    <bean id="listen" class="com.uwo.resources.ui.mq.QueueListener"/>

© 著作权归作者所有

共有 人打赏支持
下一篇: java RabbitMQ
y
粉丝 7
博文 124
码字总数 22079
作品 0
扬州
程序员
私信 提问
阿里云Kubernetes SpringCloud 实践进行时(2): 分布式配置管理

简介 为了更好地支撑日益增长的庞大业务量,我们常常需要把服务进行整合、拆分,使我们的服务不仅能通过集群部署抵挡流量的冲击,又能根据业务在其上进行灵活的扩展。随着分布式的普及、服务...

osswangxining
2018/05/25
0
0
RabbitMQ 入门 与 RabbitMQ 在 Spring Boot 中的使用

Message Broker与AMQP简介 Message Broker是一种消息验证、传输、路由的架构模式,其设计目标主要应用于下面这些场景: 消息路由到一个或多个目的地 消息转化为其他的表现方式 执行消息的聚集...

Anur
2018/09/13
0
0
RabbitMQ 实战教程 文集

RabbitMQ 实战教程 文集 此系列博客经梁总(梁桂钊的博客)授权录入本站点,下面推荐下梁总的技术公众号【服务端的思维】,公众号不定时更新技术文章,干货满满!! RabbitMQ 实战教程(一) He...

chenssy
2018/10/06
0
0
通过实例理解 RabbitMQ 的基本概念

先说下自己开发的实例。 最近在使用 Spring Cloud Config 做分布式配置中心(基于 SVN/Git),当所有服务启动后,SVN/Git 中的配置文件更改后,客户端服务读取的还是旧的配置,并不能实时读取...

xumaojun
2018/05/06
0
0
Spring Boot整合RabbitMQ实例

什么是消息? 消息是一个或者多个实体之间沟通的一种方式并且无处不在。 自从计算机发明以来,计算机以多种多样的方式发送消息,消息定义了软硬件或者应用程序之间的沟通方式。消息总是有一个...

英雄有梦没死就别停
2018/06/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

如何在NEO区块链上实现信息加密

你或许已经知道,区块链上的交易大多都是透明公开的,用户既可以直接通过RPC查询NEO节点,也可以使用NEOTracker或NEOScan等方便好用的区块链浏览器浏览交易记录、余额、智能合约或区块链上的...

NEO-FANS
12分钟前
1
0
web.xml is missing and is set to true一步解决

次报错说的是在WebContent/WEB-INF下面没有web.xml,而默认web.xml不在此路径,需要重新指定路径,操作如下: 先取消Dynamic Web Module勾选,点击apply,然后再勾上Dynamic Web Module,此时...

宇昕
19分钟前
0
0
ios 让navigationItem的UIBarButtonItem的背景色不为蓝色,现实图片本身颜色

ios 让navigationItem的UIBarButtonItem的背景色不为蓝色,现实图片本身颜色 UIImage *rightImage = [[UIImage imageNamed:@"add"] imageWithRenderingMode:UIImageRenderingModeAlwaysOrig......

壹峰
27分钟前
0
0
spring session 1.x与2.x 兼容性问题

spring session 1.x与2.x 同时在项目中使用时,导致session不一致原因是1.x useBase64Encoding=false 而 2.0 为useBase64Encoding=true. 因此解决只需保证两边 useBase64Encoding 一致就行。...

welkin_k
27分钟前
0
0
Hadoop环境中管理大数据存储八大技巧

在现如今,随着IT互联网信息技术的飞速发展和进步。目前大数据行业也越来越火爆,从而导致国内大数据人才也极度缺乏,下面科多数据介绍一下关于Hadoop环境中管理大数据存储技巧。 1、分布式存...

董黎明
30分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部