文档章节

Spring 配置RabbitMQ

y
 yan5845hao
发布于 2017/05/21 15:24
字数 630
阅读 22
收藏 0
点赞 0
评论 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"/>

© 著作权归作者所有

共有 人打赏支持
y
粉丝 7
博文 119
码字总数 21349
作品 0
扬州
程序员
阿里云Kubernetes SpringCloud 实践进行时(2): 分布式配置管理

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

osswangxining
05/25
0
0
RabbitMQ学习以及与Spring的集成(三)

本文介绍RabbitMQ与Spring的简单集成以及消息的发送和接收。 在RabbitMQ的Spring配置文件中,首先需要增加命名空间。 xmlns:rabbit="http://www.springframework.org/schema/rabbit" 其次是模...

onedotdot
06/18
0
0
通过实例理解 RabbitMQ 的基本概念

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

xumaojun
05/06
0
0
【Spring Cloud】分布式必学springcloud(十一)——消息驱动 SpringCloud Stream

一、前言 在前面的博客中,基本上已经把springcloud系列的大部分都介绍过了。如果有太明白的小白,还是建议从小编的第一篇博客进行学习。 在这篇博客中,小白向大家介绍一个消息事件驱动框架...

kisscatforever
04/26
0
0
Spring Boot整合RabbitMQ实例

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

英雄有梦没死就别停
06/27
0
0
Spring Boot与RabbitMQ结合实现延迟队列的示例

背景 何为延迟队列? 顾名思义,延迟队列就是进入该队列的消息会被延迟消费的队列。而一般的队列,消息一旦入队了之后就会被消费者马上消费。 场景一:在订单系统中,一个用户下单之后通常有...

xiaomin0322
05/11
0
0
SpringCloud(第 037 篇)通过bus/refresh半自动刷新ConfigClient配置

SpringCloud(第 037 篇)通过bus/refresh半自动刷新ConfigClient配置 - 一、大致介绍 二、实现步骤 2.1 添加 maven 引用包 2.2 添加应用配置文件(springms-config-client-refresh-bus/src/...

HMILYYLIMH
2017/10/18
0
0
【RabbitMQ】6、rabbitmq生产者的消息确认

通过Publisher Confirms and Returns机制,生产者可以判断消息是否发送到了exchange及queue,而通过消费者确认机制,Rabbitmq可以决定是否重发消息给消费者,以保证消息被处理。 1.什么是Pub...

xiaomin0322
05/13
0
0
介绍Spring Cloud Stream与RabbitMQ集成

Spring Cloud Stream是一个建立在Spring Boot和Spring Integration之上的框架,有助于创建事件驱动或消息驱动的微服务。在本文中,我们将通过一些简单的例子来介绍Spring Cloud Stream的概念...

RaiseHead
05/13
0
0
Spring Cloud Stream应用与自定义RocketMQ Binder:编程模型

前言: 本文作者张天,节选自笔者与其合著的《Spring Cloud微服务架构进阶》,即将在八月出版问世。本文将其中Spring Cloud Stream应用与自定义Rocketmq Binder的内容抽取出来,主要介绍Spr...

aoho
06/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

LSM树(Log-Structured Merge Tree)存储引擎浅析

其实每一种数据库,它都是一种抽象的数据结构的具体实现。 随着rocksDB(facebook的),levelDB(google的),以及我们熟知的hbase,他们都是使用的LSM树结构的数据库。 它的核心思路其实非常...

算法之名
6分钟前
0
0
ARTS说明

湾曲日报,作者每天阅读5篇优质英文文章,从2014/08/06开始,到今天也1216期了. 阮一峰的每周分享,从2018/04/20开始,每周5分享一周作者认为值得分享的东西,现在最新是14期. 关于ARTS Algorithm ...

yysue
8分钟前
0
0
sql优化原则

批量查询/更新/获得表结构 1.sp_help table_name;-sqlserver==desc table_name-mysql 如: sp_help Student; sql优化: 应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引...

xd03122049
16分钟前
0
0
python爬虫日志(6)小小实践

经过3天的学习,现在对简单的网页基本可以爬取想爬取的信息了,但还无法应对网站一些复杂的反爬虫措施。 今天利用目前为止所学的知识,试着爬取了煎蛋网几页图片并下载到本地。 #首先还是先导...

茫羽行
22分钟前
0
0
js中用oop思想封装轮播

用户可以自己设置:1、速度speed:fast,normal,slow 2、是否自动轮播:true,false 3、选择器(当然可以根据需求,增加,目前先封的这三个)仅供参考 觉得oop面向对象的思想比较有意思,前端...

琴妹
22分钟前
0
0
使用fastjson将json格式的数据转化为对象

1. 导入fastjson的jar包 <!-- 9.fastjson --> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.47</version> </dependency> 2. 常用几种类型的......

Lucky_Me
24分钟前
0
0
JDK11的ZGC小试牛刀

序 本文主要试一下JDK11的ZGC ZGC ZGC全称是Z Garbage Collector,是一款可伸缩(scalable)的低延迟(low latency garbage)、并发(concurrent)垃圾回收器,旨在实现以下几个目标: 停顿时间不超...

go4it
28分钟前
0
0
电信ss/ssr速度慢 电信国际出口速度慢 被QoS限速

很多人跟我反应,同一条线路,电信用户的国际出口速度很慢,而移动/联通用户却还不错,可能移动/联通可以流畅看1080P,而电信卡的连国外网页都打不开。明明电信的国际出口宽带是三家中最高的...

flyzy2005
33分钟前
0
0
java中equals,hashcode和==的区别

1、== java中的数据类型,可分为两类: 1.基本数据类型,也称原始数据类型 byte,short,char,int,long,float,double,boolean 他们之间的比较,应用双等号(==),比较的是他们的值。 2.引用类型...

小海bug
55分钟前
0
0
Win10专业版安装GIT后使用Git Bash闪退解决办法

百度后把过程和最终解决办法记录下来: 百度首先出来的解决办法如下: 来自:https://segmentfault.com/q/1010000012722511?sort=created 重启电脑 重新安装 安装到C盘 尝试网上的教程 \Git...

特拉仔
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部