电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

springboot整合RabbitMQ發(fā)送短信的實現(xiàn)

瀏覽:109日期:2023-03-10 16:12:49
目錄RabbitMQ安裝和運行MQ服務(wù)器設(shè)置創(chuàng)建用戶創(chuàng)建虛擬機實現(xiàn)發(fā)送短信rabbit-mqservice-baseservice-core中發(fā)送消息service-sms中監(jiān)聽消息測試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.rpm rpm -ivh rabbitmq-server-3.8.1-1.el7.noarch.rpm # 卸載#rpm -qa | grep rabbitmq# 啟用管理插件rabbitmq-plugins enable rabbitmq_management# 啟動RabbitMQsystemctl start rabbitmq-server.service#systemctl status rabbitmq-server.service#systemctl restart rabbitmq-server.service#systemctl stop rabbitmq-server.service# 查看進程ps -ef | grep rabbitmq

默認的用戶密碼,guest/guest,不允許遠程連接,需要添加管理員賬戶

# 添加管理員賬號密碼rabbitmqctl add_user admin admin# 分配賬號角色rabbitmqctl set_user_tags admin administrator# 修改密碼(需要修改一次密碼,否則無法登錄)rabbitmqctl change_password admin 123456# 查看用戶列表rabbitmqctl list_users

使用新賬號(admin/123456)登錄:http://虛擬機ip:15672

MQ服務(wù)器設(shè)置創(chuàng)建用戶

創(chuàng)建用戶 srbuser,配置管理員權(quán)限

springboot整合RabbitMQ發(fā)送短信的實現(xiàn)

創(chuàng)建虛擬機

創(chuàng)建虛擬機 /srbhost,在Set permission中為新建的用戶分配訪問虛擬機 /srbhost 和 / 的權(quán)限

springboot整合RabbitMQ發(fā)送短信的實現(xiàn)

springboot整合RabbitMQ發(fā)送短信的實現(xiàn)

springboot整合RabbitMQ發(fā)送短信的實現(xiàn)

實現(xiàn)發(fā)送短信rabbit-mq

1、創(chuàng)建模塊

srb下創(chuàng)建rabbit-mq模塊

2、pom

<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId></dependency><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency></dependencies>

3、創(chuàng)建MQConfig

MQConfig.java

package com.indi.srb.rabbitutil.config;@Configurationpublic class MQConfig { @Bean public MessageConverter messageConverter(){// json字符串轉(zhuǎn)換器return new Jackson2JsonMessageConverter(); }}

4、創(chuàng)建MQConst

MQConst.java

package com.indi.srb.rabbitutil.constant;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';//消息隊列}

5、創(chuàng)建MQService

MQService.java

package com.indi.srb.rabbitutil.service;@Service@Slf4jpublic class MQService { @Resource private AmqpTemplate amqpTemplate; /** * 發(fā)送消息 * @param exchange 交換機 * @param routingKey 路由 * @param message 消息 * @return */ public boolean sendMessage(String exchange,String routingKey, Object message){log.info('發(fā)送消息');amqpTemplate.convertAndSend(exchange,routingKey,message);return true; }}service-base

dto

SmsDTO.java

package com.indi.srb.base.dto;@Data@ApiModel(description = '短信')public class SmsDTO { @ApiModelProperty(value = '手機號') private String mobile; @ApiModelProperty(value = '消息內(nèi)容') private String message;}service-core中發(fā)送消息

1、pom

<!-- 需要依賴rabbit-mq --><dependency><groupId>com.indi</groupId><artifactId>rabbit-mq</artifactId><version>1.0-SNAPSHOT</version></dependency>

2、yml

application.yaml

#spring: rabbitmq: host: 虛擬機ip port: 5672 virtual-host: /srbhost username: srbuser password: 123456

3、UserInfoService

UserInfoService.java

// 根據(jù)bindCode獲取手機號String getMobileByBindCode(String bindCode);

UserInfoServiceImpl.java

@Override public String getMobileByBindCode(String bindCode) {QueryWrapper<UserInfo> queryWrapper = new QueryWrapper<>();queryWrapper.select('mobile').eq('bind_code',bindCode);UserInfo userInfo = baseMapper.selectOne(queryWrapper);return userInfo.getMobile(); }

4、向MQ發(fā)送消息

UserAccountServiceImpl.java 充值回調(diào)方法的最后添加發(fā)送消息的代碼

@Resource private UserInfoService userInfoService; @Resource private MQService mqService; @Transactional(rollbackFor = Exception.class) @Override public String notify(Map<String, Object> paramMap) {log.info('發(fā)消息');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);return 'success'; }service-sms中監(jiān)聽消息

1、pom

<!-- 需要依賴rabbit-mq --><dependency><groupId>com.indi</groupId><artifactId>rabbit-mq</artifactId><version>1.0-SNAPSHOT</version></dependency>

2、yml

application.yml

#spring: rabbitmq: host: 虛擬機ip port: 5672 virtual-host: /srbhost username: srbuser password: 123456

3、創(chuàng)建MQ監(jiān)聽器

SmsReceiver.java

package com.indi.srb.sms.receiver;@Component@Slf4jpublic class SmsReceiver { @Resource private SmsService smsService; // 此處的exchange與key必須與發(fā)消息傳的一致 @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) throws IOException {log.info('SmsReceiver 消息監(jiān)聽');Map<String, Object> param = new HashMap<>();param.put('code', smsDTO.getMessage());smsService.send(smsDTO.getMobile(), SmsProperties.TEMPLATE_CODE, param); }}測試

完成充值之后,登錄的用戶,手機上會收到充值成功的短信提醒。

springboot整合RabbitMQ發(fā)送短信的實現(xiàn)

springboot整合RabbitMQ發(fā)送短信的實現(xiàn)

springboot整合RabbitMQ發(fā)送短信的實現(xiàn)

到此這篇關(guān)于springboot整合RabbitMQ發(fā)送短信的實現(xiàn)的文章就介紹到這了,更多相關(guān)springboot RabbitMQ發(fā)送短信內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標簽: Spring
相關(guān)文章:
主站蜘蛛池模板: 泰安办公家具-泰安派格办公用品有限公司 | 恒温恒湿试验箱_高低温试验箱_恒温恒湿箱-东莞市高天试验设备有限公司 | 粉末包装机-给袋式包装机-全自动包装机-颗粒-液体-食品-酱腌菜包装机生产线【润立机械】 | 泰国试管婴儿_泰国第三代试管婴儿费用|成功率|医院—新生代海外医疗 | 曙光腾达官网-天津脚手架租赁-木板架出租-移动门式脚手架租赁「免费搭设」 | 不锈钢列管式冷凝器,换热器厂家-无锡飞尔诺环境工程有限公司 | 重庆钣金加工厂家首页-专业定做监控电视墙_操作台 | 碳化硅,氮化硅,冰晶石,绢云母,氟化铝,白刚玉,棕刚玉,石墨,铝粉,铁粉,金属硅粉,金属铝粉,氧化铝粉,硅微粉,蓝晶石,红柱石,莫来石,粉煤灰,三聚磷酸钠,六偏磷酸钠,硫酸镁-皓泉新材料 | 编织人生 - 权威手工编织网站,编织爱好者学习毛衣编织的门户网站,织毛衣就上编织人生网-编织人生 | 明渠式紫外线杀菌器-紫外线消毒器厂家-定州市优威环保 | 特材真空腔体_哈氏合金/镍基合金/纯镍腔体-无锡国德机械制造有限公司 | NBA直播_NBA直播免费观看直播在线_NBA直播免费高清无插件在线观看-24直播网 | 武汉高低温试验机-现货恒温恒湿试验箱-高低温湿热交变箱价格-湖北高天试验设备 | 广东机电安装工程_中央空调工程_东莞装饰装修-广东粤标建设有限公司 | 全自动烧卖机厂家_饺子机_烧麦机价格_小笼汤包机_宁波江北阜欣食品机械有限公司 | MOOG伺服阀维修,ATOS比例流量阀维修,伺服阀维修-上海纽顿液压设备有限公司 | 玻璃钢格栅盖板|玻璃钢盖板|玻璃钢格栅板|树篦子-长沙川皖玻璃钢制品有限公司 | 香蕉筛|直线|等厚|弧形|振动筛|香蕉筛厂家-洛阳隆中重工 | 除湿机|工业除湿机|抽湿器|大型地下室车间仓库吊顶防爆除湿机|抽湿烘干房|新风除湿机|调温/降温除湿机|恒温恒湿机|加湿机-杭州川田电器有限公司 | 磁力链接搜索神器_BT磁力狗_CILIMAO磁力猫_高效磁力搜索引擎2024 | 首页_欧瑞传动官方网站--主营变频器、伺服系统、新能源、软起动器、PLC、HMI | 聚丙烯酰胺PAM-聚合氯化铝PAC-絮凝剂-河南博旭环保科技有限公司 巨野电机维修-水泵维修-巨野县飞宇机电维修有限公司 | 进口便携式天平,外校_十万分之一分析天平,奥豪斯工业台秤,V2000防水秤-重庆珂偌德科技有限公司(www.crdkj.com) | 热闷罐-高温罐-钢渣热闷罐-山东鑫泰鑫智能热闷罐厂家 | 康明斯发电机,上柴柴油发电机,玉柴柴油发电机组_海南重康电力官网 | 成都珞石机械 - 模温机、油温机、油加热器生产厂家 | 手机游戏_热门软件app下载_好玩的安卓游戏下载基地-吾爱下载站 | 流变仪-热分析联用仪-热膨胀仪厂家-耐驰科学仪器商贸 | 北京百度网站优化|北京网站建设公司-百谷网络科技 | 青岛球场围网,青岛车间隔离网,青岛机器人围栏,青岛水源地围网,青岛围网,青岛隔离栅-青岛晟腾金属制品有限公司 | 中国产业发展研究网 - 提供行业研究报告 可行性研究报告 投资咨询 市场调研服务 | 防爆电机_防爆电机型号_河南省南洋防爆电机有限公司 | 江苏皓越真空设备有限公司| 脑钠肽-白介素4|白介素8试剂盒-研域(上海)化学试剂有限公司 | 食品质构分析仪-氧化诱导分析仪-瞬态法导热系数仪|热冰百科 | 传爱自考网_传爱自学考试网 | 房间温控器|LonWorks|海思 | QQ房产导航-免费收录优秀房地产网站_房地产信息网 | POM塑料_PBT材料「进口」聚甲醛POM杜邦原料、加纤PBT塑料报价格找利隆塑料 | 游戏版号转让_游戏资质出售_游戏公司转让-【八九买卖网】 | 粉末冶金-粉末冶金齿轮-粉末冶金零件厂家-东莞市正朗精密金属零件有限公司 |