Rabbitmq 整合Spring,SpringBoot与Docker
SpringBootLearning是对Springboot与其他框架学习与研究项目,是根据实际项目的形式对进行配置与处理,欢迎star与fork。
[oschina 地址]
http://git.oschina.net/cmlbeliever/SpringBootLearning
[github 地址]
https://github.com/cmlbeliever/SpringBootLearning
最近开始研究消息队列框架Rabbitmq,之前对消息队列只是有个基本概念而已。至于使用场景也局限于发送邮件,发送系统消息等。
既然开始学习了,首先上官网把基本概念撸清除后,再看看Spring官方整合文档AMQP,基本上摸清了套路。
项目开始前的准备:
工欲善其事必先利其器,首先得安装Rabbitmq。这里推荐使用docker进行安装。
1. 获取镜像: docker pull rabbitmq:management
2. 执行命令 docker run -d --name rabbitmq --publish 5671:5671 \ --publish 5672:5672 --publish 4369:4369 --publish 25672:25672 --publish 15671:15671 --publish 15672:15672 \rabbitmq:management
3. 查看docker容器ip:docker-machine ip
4. 根据获取的ip,在浏览器上访问:http://${ip}:15672 打开管理页面,则说明rabbitmq安装成功
安装好Rabbitmq后,将SpringBootLearning工程clone下来
git clone https://git.oschina.net/cmlbeliever/SpringBootLearning.git
或
git clone https://github.com/cmlbeliever/SpringBootLearning.git
项目是放在两个git托管服务上的,因为github有的时候会访问失败,所以就加了一个国内的托管服务。
工程clone下来后,进入到rabbitmq目录。根据README上的说明进行操作即可。
Spring的配置文件分成发送端和接收端配置。发送端负责发送特定的消息,接收端负责接收不同quene下的消息进行相应的处理,工程上只是log出来了。
目前集成了Exchagne类型有topic,fanout,direct。还添加了手动确认消息的demo。
工程运行成功后,可以看到执行后接收到消息的log:
至于配置,工程上都有。每个配置的意义,官网上说的很详细了,网上其他人博客也说的很多了,这里就不赘述了。