spring项目链接RabbitMQ集群

文章目录

          • 1.pom
          • 2. spring-rabbitmq-producer.xml
          • 3. spring-rabbitmq-consumer.xml
          • 4. rabbitmq.properties

1.pom
   <!--spring整合rabbitmq--><dependency><groupId>com.rabbitmq</groupId><artifactId>amqp-client</artifactId><version>3.4.7</version></dependency><dependency><groupId>org.springframework.amqp</groupId><artifactId>spring-amqp</artifactId><version>1.4.0.RELEASE</version></dependency><dependency><groupId>org.springframework.amqp</groupId><artifactId>spring-rabbit</artifactId><version>1.4.0.RELEASE</version></dependency><dependency><groupId>org.springframework.retry</groupId><artifactId>spring-retry</artifactId><version>1.2.5.RELEASE</version></dependency>
2. spring-rabbitmq-producer.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xmlns:rabbit="http://www.springframework.org/schema/rabbit"xsi:schemaLocation="http://www.springframework.org/schema/rabbithttp://www.springframework.org/schema/rabbit/spring-rabbit-1.4.xsdhttp://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-3.1.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsd"><!--生产者者配置如下:--><context:property-placeholder location="/WEB-INF/config/rabbitmq.properties"/><!-- 定义RabbitMQ的连接工厂--><rabbit:connection-factory id="connectionFactory"addresses="${rabbitmq.addresses}"username="${rabbitmq.username}"password="${rabbitmq.password}"virtual-host="${rabbitmq.vhost}"connection-timeout="${rabbitmq.conTimeout}"publisher-confirms="${rabbitmq.publisher-confirms}"publisher-returns="${rabbitmq.publisher-returns}"channel-cache-size="${rabbitmq.channel.cache-size}"/><!-- 管理消息队列 --><rabbit:admin connection-factory="connectionFactory"/><!--此处为配置文件方式 管控台配置模式需要注释  默认模式管控台 Start--><!-- 定义一个队列或者多个队列  自动声明--><rabbit:queue name="LY-TRACE-OBJ-QUEUE" auto-declare="true" durable="true"/><rabbit:queue name="LY-TRACE-OBJ-QUEUE2" auto-declare="true" durable="true"/><rabbit:topic-exchange name="LY-TRACE-WS-EXCHANGE"><rabbit:bindings><!-- 可绑定多个队列,发送的时候指定key进行发送 --><rabbit:binding queue="LY-TRACE-OBJ-QUEUE" pattern="LY-trace-obj.h"/><rabbit:binding queue="LY-TRACE-OBJ-QUEUE" pattern="LY-trace-obj.h"/></rabbit:bindings></rabbit:topic-exchange><rabbit:topic-exchange name="LY-TRACE-HTTP-EXCHANGE"><rabbit:bindings><!-- 可绑定多个队列,发送的时候指定key进行发送 --><rabbit:binding queue="LY-TRACE-OBJ-QUEUE" pattern="LY-trace-obj.*"/></rabbit:bindings></rabbit:topic-exchange><!--此处为配置文件方式 管控台配置模式需要注释  默认模式管控台 End--><!-- 定义交换机 自动声明--><rabbit:topic-exchange name="LY-TRACE-WS-EXCHANGE"auto-declare="true" durable="true"/><rabbit:topic-exchange name="LY-TRACE-HTTP-EXCHANGE"auto-declare="true" durable="true"/><!-- 定义MQ消息模板1. id                 : 定义消息模板ID2.connection-factory  : 把定义的连接工厂放到消息模板中3.confirm-callback    : confirm确认机制4.return-callback     : return确认机制5.mandatory           :#有2种状态设置为 true 后 消费者在消息没有被路由到合适队列情况下会被return监听,而不会自动删除;设置为 false 后 消费者在消息没有被路由到合适队列情况下会自动删除--><rabbit:template id="rabbitTemplate"connection-factory="connectionFactory"confirm-callback="confirmCallBackListener"return-callback="returnCallBackListener"mandatory="${rabbitmq.mandatory}"/><!--RabbitMQ2种消息确认机制 xml形式 如果使用注解请注释--><bean id="confirmCallBackListener" class="com.gblfy.LY.confirm.ConfirmCallBackListener"/><bean id="returnCallBackListener" class="com.gblfy.LY.re.ReturnCallBackListener"/></beans>
3. spring-rabbitmq-consumer.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xmlns:rabbit="http://www.springframework.org/schema/rabbit"xsi:schemaLocation="http://www.springframework.org/schema/rabbithttp://www.springframework.org/schema/rabbit/spring-rabbit-1.4.xsdhttp://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-3.1.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsd"><!--消费者配置如下:--><context:property-placeholder location="/WEB-INF/config/rabbitmq.properties"/><!-- 定义RabbitMQ的连接工厂 --><rabbit:connection-factory id="connectionFactory"addresses="${rabbitmq.addresses}" username="${rabbitmq.username}"password="${rabbitmq.password}" virtual-host="${rabbitmq.vhost}"connection-timeout="${rabbitmq.conTimeout}"/><!-- 管理消息队列 --><rabbit:admin connection-factory="connectionFactory"/><!-- 定义一个队列或者多个队列  自动声明--><!-- <rabbit:queue name="LY-TRACE-OBJ-QUEUE" auto-declare="true" durable="true"/>--><!-- 声明多个消费者对象 --><bean id="mQAsynStorageLog" class="com.gblfy.mqhandler.MQAsynStorageLog"/><!-- 监听队列1. connectionFactory 连接工厂2. acknowledge       签收方式:手动签收3. concurrency       消费者多线程监听队列数量max-concurrency   消费者多线程监听队列最大数量4.  ref="" 消费者监听--><rabbit:listener-container connection-factory="connectionFactory"acknowledge="manual"concurrency="${rabbitmq.concurrency}"max-concurrency="${rabbitmq.max-concurrency}"><rabbit:listener ref="mQAsynStorageLog" method="onMessage" queue-names="LY-TRACE-STR-QUEUE,LY-TRACE-OBJ-QUEUE"/></rabbit:listener-container>
</beans>
4. rabbitmq.properties
#RabbitMQ 连接信息
#IP地址
rabbitmq.addresses=ip1:5672,ip2:5672,ip3:5672
#端口
#rabbitmq.port=5672
#用户名
rabbitmq.username=guest
#密码
rabbitmq.password=guest
#虚拟主机
rabbitmq.vhost=/
#连接超时时间
rabbitmq.conTimeout=15000
#发送确认 对应RabbitTemplate.ConfirmCallback接口
#消息发送成功 有2个重要参数
# ack 状态为true correlationId 全局唯一ID用于标识每一支队列
#设置发送消息失败重试
rabbitmq.publisher-confirms=true
rabbitmq.mandatory=true
#发送失败回退,对应RabbitTemplate.ReturnCallback接口
rabbitmq.publisher-returns=true
#解决多线程发送消息
rabbitmq.channel.cache-size=500#消费者多线程消费
rabbitmq.concurrency=10
rabbitmq.max-concurrency=20

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/520219.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

听说支付宝有一个“疯起来连自己都打”的项目

小蚂蚁说&#xff1a; 自古红蓝出CP&#xff0c;在蚂蚁金服就有这样两支“相爱相杀”的队伍——红军和蓝军。蓝军是进攻方&#xff0c;主要职责是挖掘系统的弱点并发起“真实”的攻击&#xff0c;俗称“找茬”&#xff1b;红军则是防守方&#xff0c;其防控体系建设中的实时核…

蚂蚁金服红蓝军技术攻防演练究竟有多“狠”

如果一个技术团队不干别的&#xff0c;专门“搞破坏”&#xff0c;这是一种怎样的存在&#xff1f;这真的不是“天方夜谭”&#xff0c;在支付宝确实有这么一支队伍——技术蓝军。蓝军的任务就是不断地攻击和进攻&#xff0c;而防守方则是技术红军。在支付宝&#xff0c;蓝军从…

java虚拟机中xms_java JVM虚拟机选项: Xms Xmx PermSize MaxPermSize 区别

java虽然是自动回收内存&#xff0c;但是应用程序&#xff0c;尤其服务器程序最好根据业务情况指明内存分配限制。否则可能导致应用程序宕掉。举例说明含义&#xff1a;-Xms128m表示JVM Heap(堆内存)最小尺寸128MB&#xff0c;初始分配-Xmx512m表示JVM Heap(堆内存)最大允许的尺…

linux 目录挂载

背景&#xff1a;文件服务器200G&#xff0c;日志大小已经超过200G&#xff0c;使用率达到100% 解决方案&#xff1a; nas挂载&#xff0c;申请的挂载磁盘空间1T 挂载声明&#xff1a; 当执行挂载命令后&#xff0c;本地挂载的原目录下面是空的 只有解挂后&#xff0c;以前目录…

阿里巴巴在内蒙古旱区试水物联网灌溉技术,一年省出1.5个西湖

阿里巴巴正用物联网技术解决干旱地区的灌溉问题&#xff0c;通过搭建农业物联网平台&#xff0c;全面监测农作物的生长状态&#xff0c;从而匹配最节约的灌溉方案。12月19日试验区研究人员得出预测结果&#xff1a;一年可以省出1.5个西湖的水。 一直以来干旱是困扰人类的重要环…

不少人暗搓搓的准备春招了,我有一些好东东和招聘信息给你

2017远去了&#xff01;2018远去了&#xff01;&#xff01;很快&#xff0c;2019 也要远去了&#xff01;&#xff01;&#xff01;被各种裁员和寒冬扎心的老铁&#xff0c;你还在犹豫什么&#xff1f;赶紧学习起来&#xff0c;找份靠谱的工作吧&#xff01;找工作这件事&…

网易考拉在服务化改造方面的实践

导读&#xff1a; 网易考拉&#xff08;以下简称考拉&#xff09;是网易旗下以跨境业务为主的综合型电商&#xff0c;自2015年1月9日上线公测后&#xff0c;业务保持了高速增长&#xff0c;这背后离不开其技术团队的支撑。微服务化是电商IT架构演化的必然趋势&#xff0c;网易…

Oracle 11g Java驱动包ojdbc6.jar安装到maven库,并查看jar具体版本号

ojdbc6.jar下载 Oracle官方宣布的Oracle数据库11g的驱动jar包是ojdbc6.jar ojdbc6.jar下载地址&#xff1a;https://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010-090769.html (Oracle Database 11g Release 2 (11.2.0.4) JDBC Drivers & UCP Do…

java 异常补偿解决_第三方接口调用异常补偿机制实现实例记录

背景&#xff1a;我们的组件(简称A)&#xff0c;在业务链中属于数据支撑节点。其中与组件B存在接口同步数据的直接关系(API接口直接调用进行数据交互)问题&#xff1a;我们的上游有另一个组件C(带有界面)&#xff0c;调用A(us)进行数据的变更操作&#xff0c;此时需要A调用B服务…

阿里重磅开源Blink:为什么我们等了这么久?

12月20日&#xff0c;由阿里巴巴承办的 Flink Forward China 峰会在北京国家会议中心召开&#xff0c;来自阿里、华为、腾讯、美团点评、滴滴、字节跳动等公司的技术专家与参会者分享了各公司基于 Flink 的应用和实践经验。 感兴趣的开发者可以看云栖社区的对于大会的主会5场分…

支持OpenStack,红帽将开源进行到底

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者 | 刘丹责编 | 阿秃出品 | CSDN云计算&#xff08;ID&#xff1a;CSDNcloud&#xff09;早在去年&#xff0c;红帽全球副总裁兼中国区总裁曹衡康表示&#xff0c;红帽已经转型了&#xff0c;不仅是Linux&#xff0c;红帽是全球最…

GAN是一种特殊的损失函数?

数据科学家Jeremy Howard在fast.ai的《生成对抗网络&#xff08;GAN&#xff09;》课程中曾经讲过这样一句话&#xff1a; “从本质上来说&#xff0c;生成对抗网络&#xff08;GAN&#xff09;是一种特殊的损失函数。” 你是否能够理解这句话的意思&#xff1f;读完本文&…

matlab 三维 作图 坐标轴_这张图(不全),想利用matlab画一张三维图,X Y z 轴分别为经度 纬度 频率,这...

xrangeminx:dx:maxx; yrangeminy:dy:maxy;[X,Y] meshgrid(xrange,yrange);griddata(lon,lat,SST,X,Y);mesh(X,Y,Z), hold onplot3(lon,lat,SST,o),hold offmatlab 作图方法2113&#xff1a;plot3 三维曲线图&#xff1b;plot3(x1,y1,z1,x2,y2,z2,…,xn,yn,zn): surf(x,y,z)…

(Python)零起步数学+神经网络入门

在这篇文章中&#xff0c;我们将在Python中从头开始了解用于构建具有各种层神经网络&#xff08;完全连接&#xff0c;卷积等&#xff09;的小型库中的机器学习和代码。最终&#xff0c;我们将能够写出如下内容&#xff1a; 假设你对神经网络已经有一定的了解&#xff0c;这篇文…

必须要看的网上冲浪安全攻略!

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者 | Nirnay Butle翻译&#xff5c;风车云马责编 | 阿秃出品 | CSDN云计算&#xff08;ID&#xff1a;CSDNcloud&#xff09;不管我们是不是技术迷&#xff0c;无可否认的是&#xff0c;现在我们各自的生活都对互联网产生了高度依…

当自己犹豫时,坐下来读一读

物来顺应&#xff1a;事情已经过去了&#xff0c;就不要纠结&#xff0c;应该顺应和面对 未来不迎&#xff1a;千万不要为了没有发生的事&#xff0c;而感到焦虑 当时不杂&#xff1a;专注于做好当前的事&#xff0c;不要三心二意 既过不恋&#xff1a;已经过去的事情&#…

java ajax查询_java-如何计时ajax查询(发送查询,处理,接收响应)

编辑以澄清我的意图&#xff1a;(基于初始答案)我有一个网络应用程序.该服务器由一组Java POJO组成,我正在使用Jersey将它们公开为REST API.浏览器使用jquery ajax调用这些API,并执行操作.我想记录我的Ajax查询所用的持续时间,并希望细分>将查询从浏览器发送到服务器花费了多…

短视频宝贝=慢?阿里巴巴工程师这样秒开短视频

前言 随着短视频兴起&#xff0c;各大APP中短视频随处可见&#xff0c;feeds流、详情页等等。怎样让用户有一个好的视频观看体验显得越来越重要了。大部分feeds里面滑动观看视频的时候&#xff0c;有明显的等待感&#xff0c;体验不是很好。针对这个问题我们展开了一波优化&am…

AI又被彩虹吹?!新浪财经:应届博士算法毕业,80万年薪被疯抢

在2019人工智能计算大会上发布了《2019—2020中国人工智能计算力发展评估报告》。根据报告&#xff0c;预计2023年&#xff0c;中国人工智能基础架构市场将超过80亿美元。人工智能市场布局火力全开巨头哭诉&#xff1a;全球只有30万人才截至2017年&#xff0c;我国人工智能市场…