SpringAMQP 之 RabbitTemplate
2018-08-16 本文已影响175人
HmilyMing
RabbitTemplate 即消息模板
它是在之前于 SpringAMQP 整合的时候进行发送消息的关键类。它提供了丰富的发送消息方法,包括可靠性投递消息方法、回调监听消息接口 ConfirmCallback、返回值确认接口 ReturnCallback 等等。同样我们需要进行注入到 Spring 容器中,然后直接使用。RabbitTemplate 在 Spring 整合时需要实例化,但是在 Springboot 整合时,在配置文件里添加配置即可。
代码示例:
代码地址: https://github.com/hmilyos/rabbitmq-spring-demo
先实例化 RabbitTemplate
![](https://img.haomeiwen.com/i9167995/423791cf6037dd05.png)
然后就在单元测试类里面写个方法发送消息
![](https://img.haomeiwen.com/i9167995/14e4236798b44fb1.png)
运行单元测试,上管控台查看消息是否发送到queue里面了。如下图所示,queue接收到消息了。
![](https://img.haomeiwen.com/i9167995/8f4a548e6f1f0fde.png)
![](https://img.haomeiwen.com/i9167995/f0fcf220eece3fb4.png)
在queue里面获取一下消息,看到额外设置的东西
![](https://img.haomeiwen.com/i9167995/708a83d898fc15b0.png)
改进一下代码,发送三个不同routingkey的消息
![](https://img.haomeiwen.com/i9167995/7814f6d17904f732.png)
再次启动测试方法,上管控台查看一下消息,本次发送了三条,加上之前未消费的一条,根据路由规则交换机 topic001 绑定 spring.* 所以 queue001 有三条消息,queue002有一条消息。
![](https://img.haomeiwen.com/i9167995/864b4cbc4255b13d.png)
![](https://img.haomeiwen.com/i9167995/efd83b71b910adcb.png)
再严谨的获取一下消息内容进行确认
![](https://img.haomeiwen.com/i9167995/adaecdd985a83681.png)
自此 RabbitTemplate 的 demo演示完毕。