博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring集成RabbitMQ-使用RabbitMQ更方便
阅读量:7123 次
发布时间:2019-06-28

本文共 1427 字,大约阅读时间需要 4 分钟。

如果提到Spring,你脑海中对他的印象还停留在SSH三大框架之一,那或许你该好好重新认识这个家伙。

在IT技术日新月异的今天,他还能让你忘不了并与他朝夕相处,他,肯定有自己的绝活。如今他早已经不是孤军奋战,而是形成了一个大家族,或许你知道Spring Boot,Spring Cloud,Spring Datad等等。

Spring给我的感觉就是好用,易上手,尤其有了更加强大的注解使用之后,可以抛去繁琐的XML配置,我们有更多的精力集中在自己的业务上、代码上。而Spring AMQP就是这样的一个集成了RabbitMQ的好用的工具库,能够很好的实现收发消息。

3207000062462aed859b

从这篇开始我们将陆续介绍Spring如何集成RabbitMQ,又是如何在Spring下使用RabbitMQ的。

和原生的RabbitMQ区别在哪

在《RabbitMQ入门》系列中,我们只用到了amqp-client这个jar包,包括新建Connection、Channel以及Consumer等。

但是我们在Spring下集成,还需要引入新的jar包依赖。
31f70004687c01f6a477

  • 这里用的是最新的spring-rabbit版本2.0.0.M5

  • 最新的spring-rabbit要求Spring Framework的最低版本为5.0.x,amqp-client的最低版本为4.1.x(对于一些新特性要求这样的最低版本,对于大部分功能来说,较低的版本也能正常工作)

添加好这些依赖后,编译项目出现下面的错误

320100024e4f466f2119

从错误信息可以看出是中央仓库中没有Bismuth-M3这个依赖,所以需要添加一个Repository能够提供这个依赖的。添加如下信息到pom.xml中,问题解决。

321400002d1edb8a0fe3

一个简单到爆的HelloWorld实例

有了上面的依赖,我们先抛开XML配置以及注解配置,直接就可以写一个Spring集成RabbitMQ的HelloWorld。

31fe000465a332f61d7a

没错,就是这么几行代码,就可以实现发送消息和接收消息了。

  • 新建了一个连接工厂,在其构造函数中指定了hostname。当然了CachingConnectFactory还提供了其他重载形式的构造函数,可以赋值hostname以及port等。

  • AmqpAdmin对象负责新建Exchange、Queue以及绑定等工作。

  • AmqpTemplate负责收发消息。

相比我们在《RabbitMQ入门》系列中,需要新建Connection,还要创建Channel以及Consumer,完成绑定等操作,这种方式更加简洁。

启动代码后,我们可以看到一个名为myqueue的队列已经存在了。
31f700047b9b87549d4a

XML配置版本和注解配置版本

XML配置

如果非要使用你熟悉的XML模式,也不是不行。新建rabbit-context.xml文件
32010002587b285b4f24

这时候在实现类中这样写就ok了

320b000185f75247cee7

基于注解的配置

使用注解我们不用看让人眼花缭乱的xml配置了。我们需要声明一个配置类,如下
320b0001881bc8aa9d42
请点击此处输入图片描述
这时候在java实现类中这样写
3214000039d42a6417fe

以上两种方式都是等效的,具体看个人偏好了。

如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!如果您想持续关注我的文章,请扫描二维码,关注JackieZheng的微信公众号,我会将我的文章推送给您,并和您一起分享我日常阅读过的优质文章。
1240

转载于:https://www.cnblogs.com/bigdataZJ/p/springrabbitmq1.html

你可能感兴趣的文章
Linux vi/vim编辑器按键说明
查看>>
Alfred配合翻译功能, 让英语更简单
查看>>
Java面试:投行的15个多线程和并发面试题
查看>>
天天生鲜项目学习之-项目创建
查看>>
数据结构与算法--排序(JS实现)
查看>>
面试知识点突击
查看>>
MySQL-训练题实践
查看>>
Quart2D 画图一 (简单画线、形状)
查看>>
javaScript(三):原型链(共用属性)
查看>>
free VIRL lab
查看>>
JS笔试题中的类型转换
查看>>
java B2B2C springmvc mybatis仿淘宝电子商城系统
查看>>
好的文章整理
查看>>
2018-08-14 打造有态度的---区块链新社区
查看>>
高性能缓存服务器 nuster 1.7.9.8 发布
查看>>
监听浏览器后退事件
查看>>
【全开源】可视化DIY微信/百度/支付宝小程序saas平台源码
查看>>
视频课程-数组去重你知道多少种方法?-冰山工作室-沙翼-web前端
查看>>
elementUI分页在IE浏览器中存在的bug
查看>>
是哪一瞬间让后端们决定入职的?
查看>>