使用rabbitmq实现提醒发送短信
练习的时候的一个场景,觉得未来会复用就先记录下来
先在公共模块集成先:
<dependencies><!--rabbitmq消息队列--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-bus-amqp</artifactId></dependency><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId></dependency></dependencies>
定义好交换机,队列和路由键的名字。
public class MqConst {/*** 短信*/public static final String EXCHANGE_DIRECT_MSM = "exchange.direct.msm";public static final String ROUTING_MSM_ITEM = "msm.item";//队列public static final String QUEUE_MSM_ITEM = "queue.msm.item";}
消息转换器转换成json
import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter;
import org.springframework.amqp.support.converter.MessageConverter;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;@Configuration
public class MQConfig {@Beanpublic MessageConverter messageConverter(){return new Jackson2JsonMessageConverter();}
}
订单模块中提交订单(记得引入公共模块,以及MsmVo实现Serializable):
@PostMapping("/auth/submitOrder/{scheduleId}/{patientId}")public Result submitOrder(@PathVariable Long scheduleId,@PathVariable Long patientId){//一堆乱七八糟的业务流程//。。。。//短信提示MsmVo msmVo = new MsmVo();msmVo.setPhone(orderInfo.getPatientPhone());msmVo.setTemplateCode("SMS_194640721");rabbitTemplate.convertAndSend(MqConst.EXCHANGE_DIRECT_MSM, MqConst.ROUTING_MSM_ITEM, msmVo);return Result.ok(orderInfo);}
短信模块中加入component(记得引入公共模块):
@Component
public class SmsReceiver {@Autowiredprivate SmsService msmService;@RabbitListener(bindings = @QueueBinding(value = @Queue(value = MqConst.QUEUE_MSM_ITEM, durable = "true"),exchange = @Exchange(value = MqConst.EXCHANGE_DIRECT_MSM),key = {MqConst.ROUTING_MSM_ITEM}))public void send(MsmVo msmVo, Message message, Channel channel) {msmService.send(msmVo);}
}
使用rabbitmq实现提醒发送短信相关推荐
- 41. 整合RabbitMQ发送短信
RabbitMQ安装和运行 # 安装 rpm -ivh erlang-21.3.8.9-1.el7.x86_64.rpm rpm -ivh socat-1.7.3.2-1.el6.lux.x86_64 ...
- 微服务架构集成RabbitMQ给用户推送消息(发送短信,发送邮件,发送站内信息)
因为是分布式微服务项目,所以发送方在一个微服务,接收方在另外的一个微服务,在发送方,导入RabbitMQ依赖包 <!--RabbitMQ依赖--><dependency>< ...
- 使用PhP免费发送定时短信(用于天气预报、定时提醒、短信祝福等等)
使用PhP免费发送定时短信 背景:老妈年纪大了,文化程度不高,但是需要每天了解天气信息才能下地工作,也就无法通过网络获取天气,只能通过电视.于是寻思着自己抓取网络上的天气信息,通过手机短信发送给老妈. ...
- 【Android】Android6.0发送短信Demo
整理一下使用SmsManager类发送短信的方法. https://developer.android.com/reference/android/telephony/SmsManager.html ...
- java发送短信的发送报告处理
2019独角兽企业重金招聘Python工程师标准>>> 最近上线了一个推送系统.推送系统作用是将短信,邮件,app push等消息触达到用户.目前功能上只实现了短信通道,并且随着业务 ...
- Freeswitch服务+语音网关设备发送短信功能
本文档主要介绍的是发送短信的场景.语音通讯后续补充. 业务场景:由于产品部署在视频网.或者公安网这种内部网络,无法使用互联网,发送短信提醒的实现方案有两种 一种是是使用短信猫设备,插入手机卡,调用短信 ...
- 延迟发送:4款定时发送短信的应用程序
发送短信已经成为朋友.家人甚至是同事之间最为常见的通讯方式之一.由于短信具备定时发送及发送报告等功能,使用起来非常灵活.当然,短信的应用程序中常常默认带有发送报告功能,而没有定时发送的功能,若是能具备 ...
- 短信截取 android,谷歌Android增加语音操作功能 可语音发送短信
[赛迪网讯]8月13日消息,谷歌发布Android操作系统的语音指令功能"Voice Actions for Android"并且在博客中发布了一个解释这些功能的视频.Androi ...
- 使用阿里云的短信服务发送短信
原文地址使用阿里云的短信服务发送短信 在给客户开发一个信息发送功能的时候,需要涉及到短信的发送,短信发送一般不同的厂商提供的接口不同,处理方式也不太一样,之前用的一个厂商的,提供了一个封装类就很容易发 ...
最新文章
- 拆分一个字符串并把每个字符单独输出
- 《深度探索C++对象模型》--4 Function语意学
- SAP ABAP Netweaver容器化, 不可能完成的任务吗?
- php拉取公众号所有关注的人,微信公众平台开发获取关注者列表
- 【计算机图形学】实验:VB.net环境下的绘制贝赛尔(Bezier)自由曲线完整实验操作步骤
- AutoMapper 9.0的改造(续)
- AcWing 885. 求组合数 I(递推式预处理)
- MVC 3 数据验证 Model Validation 详解
- 用python画明星_Python也能成为毕加索?我用Python给小姐姐画了幅油画
- word批量设置图片大小和对齐,使用宏定义
- 计算机辅助化学教育,在计算机辅助下的化学教学_计算机辅助制造
- SOFARPC —— SPI 解析
- eclipse下改变 匹配标签和匹配括号的颜色
- 小程序获取用户唯一id php_微信小程序配合PHP获取用户OpenID标识
- 蓝桥杯 外卖店的优先级
- 推荐系统论文:Personalized News Recommendation Based on ClickBehavior
- nodejs 运行在tomcat_nodejs和tomcat的区别是什么?
- (云)服务器硬件性能测试
- 改掉几个坏习惯,养成几个习惯
- 微信公众账号导航平台