使用RabbitMQ发送短信
创始人
2024-05-30 22:20:39
0

1、在项目中分别创建模块financial-core、financial-mq、financial-sms,如图:

在这里插入图片描述

模块构成

  financial-commonfinancial-basefinancial-corefinancial-gateway       financial-smsfinancial-mq        

2、搭建RabbitMQ服务,参考下面文章

https://lovoo.blog.csdn.net/article/details/119174146

3、MQ模块financial-mq

在这里插入图片描述

3.1 在pom.xml添加依赖


koo-financial-parentcom.koo1.0.04.0.0financial-mq88UTF-8org.springframework.bootspring-boot-starter-amqpcom.alibabafastjsonorg.projectlomboklombok

3.2 MQ Json字符串转换 配置

@Configuration
public class MQConfig {@Beanpublic MessageConverter messageConverter(){//json字符串转换器return new Jackson2JsonMessageConverter();}
}

3.3 定义交换机、路由、队列常量

public class MQConst {public static final String EXCHANGE_TOPIC_SMS = "exchange.topic.sms";//交换机public static final String ROUTING_SMS_ITEM = "routing.sms.item";//路由public static final String QUEUE_SMS_ITEM = "queue.sms.item";//消息队列}

3.4 定义发送方法

@Service
@Slf4j
public class MQService {@Resourceprivate AmqpTemplate amqpTemplate;public boolean sendMessage(String exchange, String routingKey, Object message) {log.info("发送消息。。。。。。");amqpTemplate.convertAndSend(exchange, routingKey, message);return true;}
}

4、业务模块financial-core

4.1 在pom.xml中引入financial-mq模块

com.koofinancial-base1.0.0com.koofinancial-mq1.0.0     

4.2 在application.yml配置rabbitMQ信息

  #spring:rabbitmq:host: 127.0.0.1port: 5672virtual-host: /financial

4.3 发送信息

String mobile = userInfoService.getMobileByBindCode(bindCode);
SmsDTO smsDTO = new SmsDTO();
smsDTO.setMobile(mobile);
smsDTO.setMessage("充值成功");
mqService.sendMessage(MQConst.EXCHANGE_TOPIC_SMS,MQConst.ROUTING_SMS_ITEM,smsDTO
);

5、短信发送模块financial-sms

5.1 引入依赖

 com.koofinancial-mq1.0.0

5.2 在application.yml配置rabbitMQ信息

  #spring:rabbitmq:host: 127.0.0.1port: 5672virtual-host: /financial

5.3 监听MQ消息,并发送短信

@Component
@Slf4j
public class SmsReceiver {@Resourceprivate SmsService smsService;@RabbitListener(bindings = @QueueBinding(value = @Queue(value = MQConst.QUEUE_SMS_ITEM, durable = "true"),exchange = @Exchange(value = MQConst.EXCHANGE_TOPIC_SMS),key = {MQConst.ROUTING_SMS_ITEM}))public void send(SmsDTO smsDTO) {log.info("SmsReceiver消息监听。。。。。。");HashMap param = new HashMap<>();param.put("code", smsDTO.getMessage());try {Thread.sleep(10000);} catch (InterruptedException e) {e.printStackTrace();}smsService.send(smsDTO.getMobile(), SmsProperties.TEMPLATE_CODE, param);}
}

相关内容

热门资讯

安卓系统有没有类似carpla... 你有没有想过,在安卓系统上,能不能也像苹果用户那样,轻松连接汽车音响系统呢?没错,我说的就是那个神奇...
安卓系统哪里升级包,生成与更新... 亲爱的安卓用户们,你是不是也和我一样,时不时地想给手机来个“大变身”,让它焕然一新呢?那就得提到那个...
安卓手机怎么恢复老系统,轻松恢... 手机用久了,是不是觉得系统越来越卡,功能也越来越不跟得上潮流了呢?别急,今天就来教你怎么把安卓手机恢...
安卓系统如何安装windows... 亲爱的安卓用户们,你是否曾幻想过在手机上体验Windows 7的韵味?别再羡慕那些拥有Windows...
旧的安卓系统怎么备份,轻松保存... 亲爱的安卓用户们,你是否曾经因为系统升级或者手机意外重启而担心丢失了珍贵的照片、联系人或者应用数据呢...
安卓手机系统文件被破坏,全面解... 手机突然间罢工了,是不是很崩溃?别急,今天就来聊聊安卓手机系统文件被破坏的那些事儿。相信我,掌握了这...
街头霸王四安卓系统,畅享格斗盛... 你知道吗?最近在安卓系统上,有一款游戏可是火得一塌糊涂,那就是《街头霸王四》!这款经典格斗游戏在安卓...
阿里tv安卓系统刷机,畅享智能... 你有没有发现,家里的阿里TV用久了,系统有点卡卡的呢?别急,今天就来教你怎么给它来个焕然一新的刷机大...
安卓系统公共文件在哪里,安卓系... 你有没有遇到过这种情况:手机里存了好多文件,但是就是找不到它们在哪里?别急,今天就来给你揭秘安卓系统...
自制安卓系统平板电脑,性能与创... 亲爱的读者们,你是否厌倦了市面上的平板电脑千篇一律?想要拥有一台独一无二的自制安卓系统平板电脑吗?那...
solo3安卓系统能用,体验升... 你有没有听说最近安卓系统界的一个大新闻?那就是solo3安卓系统竟然可以完美兼容各种设备,简直是安卓...
tv版安卓破系统卸,轻松恢复纯... 你有没有遇到过这种情况?手机里的安卓系统突然变得不正常了,各种卡顿、崩溃,让人头疼不已。别急,今天就...
山寨windows平板装安卓系... 你有没有想过,那些看似普通的山寨Windows平板,竟然能装上安卓系统?听起来是不是有点不可思议?别...
安卓车机系统校正,智能驾驶体验... 你有没有发现,你的安卓车机系统有时候就像个不听话的小孩子,时不时地给你点小麻烦?别急,今天就来给你详...
怎样从安卓转移苹果系统,一步到... 你终于下定决心要从安卓转到苹果系统了?这可是个大转变呢!想象你的手机从此将拥有更加流畅的体验、更强大...
安卓变成ios系统软件,系统软... 你知道吗?最近有个大新闻在科技圈里炸开了锅,那就是安卓手机竟然要变成iOS系统软件了!是不是觉得有点...
凤凰安卓系统不能进入,探究原因... 最近是不是有不少小伙伴在使用凤凰安卓系统时遇到了一个让人头疼的问题——就是系统突然不能进入了?别急,...
手机怎么不卡安卓系统,安卓系统... 手机卡顿真是让人头疼啊!尤其是安卓系统,有时候感觉就像老牛拉破车,慢吞吞的。别急,今天就来给你支几招...
安卓系统内存怎么选择好,如何挑... 你有没有想过,为什么你的安卓手机有时候会卡得像蜗牛呢?其实,这跟你的手机内存选择有很大关系哦!今天,...
安卓系统怎么打开键盘,安卓系统... 你是不是在用安卓手机,突然发现键盘怎么也打不开了呢?别急,让我来给你详细介绍安卓系统打开键盘的几种方...