使用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);}
}

相关内容

热门资讯

安卓系统内存老是爆满,揭秘原因... 手机内存爆满,是不是让你头疼不已?别急,今天就来给你揭秘安卓系统内存老是爆满的奥秘,让你轻松解决这个...
安卓内存转苹果系统,技术解析与... 你有没有想过,手机从安卓系统转到苹果系统,这中间的“搬家”过程,是不是就像我们搬家一样,既兴奋又有点...
安卓系统关闭自动重启,安卓系统... 手机突然重启,是不是让你心头一紧?别急,今天就来教你一招,让你的安卓手机告别自动重启的烦恼!?一、自...
安卓系统卡刷视频,恢复流畅体验 手机用久了是不是感觉有点卡?尤其是安卓系统,有时候刷视频都慢得让人抓狂!别急,今天就来给你支个招,让...
安卓系统占用内存过高,深度剖析... 手机用着用着,是不是感觉内存越来越不够用了?尤其是安卓系统,有时候明明没下载什么大文件,内存却像被无...
安卓系统 耳机 线控,畅享音乐... 你有没有发现,现在手机耳机线控的功能越来越强大了?咱们就来聊聊这个话题,看看安卓系统的耳机线控到底有...
安卓哪个系统续航最好,揭秘哪一... 你有没有想过,为什么你的手机总是没电得那么快?是不是在纠结安卓哪个系统的续航最好呢?别急,今天就来给...
安卓软件转为系统应用,华丽蜕变... 你有没有想过,那些在安卓手机上用得得心应手的软件,竟然可以变成手机系统的一部分呢?没错,就是那种一打...
21pro安卓系统,创新功能与... 你有没有发现,最近你的手机是不是变得聪明多了?没错,说的就是那个让人眼前一亮的21Pro安卓系统!今...
安卓系统扩容硬盘教程,一步到位... 手机里的照片越来越多,游戏也越玩越上瘾,可就是硬盘空间不够用,这可怎么办呢?别急,今天就来教你怎么给...
安卓系统密码解锁软件,高效便捷... 手机解锁成了难题?别急,我来给你支个招! 一、解锁难题,安卓系统密码解锁软件来帮忙生活中,我们总会遇...
安卓系统可能下载吗,探索可能下... 你有没有想过,安卓系统是不是也可以下载呢?这个话题听起来是不是有点意思?毕竟,安卓系统可是智能手机界...
国产电脑板安卓系统,引领智能办... 你有没有想过,家里的电脑板竟然也能用安卓系统?没错,就是那个我们平时手机上用的安卓系统,现在竟然也能...
安卓系统怎么调ins,实际应用... 你有没有发现,Instagram(简称ins)这个社交平台简直是个宝藏,各种美图、短视频,还有各种有...
手机安卓系统耗电好快,揭秘安卓... 亲爱的手机控们,你们是不是也有这样的烦恼:手机安卓系统耗电好快,仿佛电量就像流水一样哗啦啦地溜走?别...
安卓系统能定位软件,探索安卓系... 你有没有想过,你的手机里那些神奇的软件是怎么知道你在哪儿的呢?没错,就是安卓系统能定位软件的功劳!今...
安卓系统参数测试软件,基于安卓... 你有没有想过,你的安卓手机里那些神秘的系统参数,其实就像是一扇通往手机性能深处的窗户呢?想要了解这扇...
透明蓝牙耳机安卓系统,智能生活... 你有没有想过,在这个科技飞速发展的时代,拥有一副好耳机是多么重要的一件事呢?想象当你沉浸在美妙的音乐...
微软10系统安装安卓,跨平台体... 亲爱的读者们,你是否曾想过在Windows 10系统上安装安卓系统呢?想象一边享受着Windows的...
ios跟安卓系统混合,打造跨平... 你有没有发现,现在手机的世界里,iOS和安卓就像是两个截然不同的王国,各自有着忠实的粉丝。但你知道吗...