博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
RabbitMQ - 实例操作
阅读量:6807 次
发布时间:2019-06-26

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

以前在单项目中用过RabbitMQ,没有问题

不过这次在分布式项目中使用RabbitMQ中有点搞糊涂了,但是实际上是没有问题的,思路清晰就行

简单看一下实际操作的示例吧: 

资源文件中需要配置基本的rabbitMQ的属性,如下:

1 #rabbitmq config2 rabbitmq.host=192.168.1.1883 rabbitmq.port=56724 rabbitmq.username=lee5 rabbitmq.password=lee6 rabbitmq.vhost=danger

然后要配置applicationContext-rabbitmq.xml,这个文件需要新建,当然你也可以在你的service.xml中编写,但是为了配置清晰嘛

内容如下:

1     
2
8 9
10
11 12
13
14
15
16
17
18
19
20
21
22 23
24
25 26 27
28
29
30
31
32 33
34
35
36
37 38
39
40
41
42
43
44

这里需要注意acknowledge,这个属性默认是auto,如果消费者报错了,会一直报错,因为他是轮询监听的,可以修改为none或者manul

再看看实现的消费者以及助手类,助手类可以理解为service

监听3个routing-key

1 @Component 2 public class SendMsgRestProducerImpl implements SendMsgRestProducer { 3  4     @Autowired     5     private RabbitTemplate rabbitTemplate; 6      7     @Override 8     public void sendSMS(String mqSMSMessageJson) { 9         rabbitTemplate.convertAndSend("rest.sms.send", mqSMSMessageJson);10     }11 12     @Override13     public void jpushContent(String mqJPushMessageJson) {14         rabbitTemplate.convertAndSend("rest.jpush.send", mqJPushMessageJson);15     }16 17     @Override18     public void saveContent(String mqSysMessageJson) {19         rabbitTemplate.convertAndSend("rest.sysmsg.send", mqSysMessageJson);20     }21     22 }

这样,直接调用componentImpl就行了!并且这3个都是异步的

为什么要使用RabbitMQ,那就是效率问题,有些主流程实现后,附流程你不在乎,成功不成功不影响,顶多重发一次,这样的业务可以使用消息队列

当然也有更多更复杂的也需要用的,这里的业务场景就比较简单了,好吧,看官们亲拍~

 

转载地址:http://cptwl.baihongyu.com/

你可能感兴趣的文章
Android文件的保存(本地和SD卡)与读取
查看>>
win7电脑桌面壁纸曝光过高影响图标怎么办?亲测实用解决方法
查看>>
Linux_防火墙入门01:以太网的诞生与演变历程
查看>>
修改微博的尾巴
查看>>
VS2010与.NET4系列 13. ASP.NET 4 SEO 改进
查看>>
远程桌面软件
查看>>
coreseek 利用python作数据源建立索引
查看>>
linux网卡绑定
查看>>
用P3P header解决iframe跨域访问cookie
查看>>
JS日期格式化
查看>>
Windows Server 2008 R2之三十八 Hyper-V的授权管理
查看>>
Error occurred during initialization of VM Could not reserve enough space for object heap
查看>>
MYSQL 数据库创建,修改等知识整理
查看>>
OpenCASCADE Expression Interpreter by Flex & Bison
查看>>
阿里云环境迁移记录
查看>>
4.1Python文件基本操作
查看>>
nginx源码分析之线程池
查看>>
正向代理、透明代理、反向代理的理解示意图
查看>>
CSS清除浮动_清除float浮动
查看>>
Laravel User Agent 轻松识别客户端(微信)信息(2019版)
查看>>