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

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

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

瀏覽:106日期: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# 查看進(jìn)程ps -ef | grep rabbitmq

默認(rèn)的用戶密碼,guest/guest,不允許遠(yuǎn)程連接,需要添加管理員賬戶

# 添加管理員賬號密碼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)!

標(biāo)簽: Spring
相關(guān)文章:
主站蜘蛛池模板: 广州迈驰新GMP兽药包装机首页_药品包装机_中药散剂包装机 | 细沙回收机-尾矿干排脱水筛设备-泥石分离机-建筑垃圾分拣机厂家-青州冠诚重工机械有限公司 | 洛阳永磁工业大吊扇研发生产-工厂通风降温解决方案提供商-中实洛阳环境科技有限公司 | elisa试剂盒价格-酶联免疫试剂盒-猪elisa试剂盒-上海恒远生物科技有限公司 | 南昌旅行社_南昌国际旅行社_南昌国旅在线 | 北京网站建设-企业网站建设-建站公司-做网站-北京良言多米网络公司 | 智慧水务|智慧供排水利信息化|水厂软硬件系统-上海敢创 | 深圳品牌设计公司-LOGO设计公司-VI设计公司-未壳创意 | ptc_浴霸_大巴_干衣机_呼吸机_毛巾架_电动车加热器-上海帕克 | 食品机械专用传感器-落料放大器-低价接近开关-菲德自控技术(天津)有限公司 | 泰来华顿液氮罐,美国MVE液氮罐,自增压液氮罐,定制液氮生物容器,进口杜瓦瓶-上海京灿精密机械有限公司 | 芜湖厨房设备_芜湖商用厨具_芜湖厨具设备-芜湖鑫环厨具有限公司 控显科技 - 工控一体机、工业显示器、工业平板电脑源头厂家 | 北京网站建设|北京网站开发|北京网站设计|高端做网站公司 | 托盘租赁_塑料托盘租赁_托盘出租_栈板出租_青岛托盘租赁-优胜必达 | 艾默生变频器,艾默生ct,变频器,ct驱动器,广州艾默生变频器,供水专用变频器,风机变频器,电梯变频器,艾默生变频器代理-广州市盟雄贸易有限公司官方网站-艾默生变频器应用解决方案服务商 | 北京模型公司-工业模型-地产模型-施工模型-北京渝峰时代沙盘模型制作公司 | 郑州大巴车出租|中巴车租赁|旅游大巴租车|包车|郑州旅游大巴车租赁有限公司 | 安徽合肥项目申报咨询公司_安徽合肥高新企业项目申报_安徽省科技项目申报代理 | 刹车盘机床-刹车盘生产线-龙口亨嘉智能装备 | 杭州网络公司_百度SEO优化-外贸网络推广_抖音小程序开发-杭州乐软科技有限公司 | 生鲜配送系统-蔬菜食材配送管理系统-连锁餐饮订货配送软件-挪挪生鲜供应链管理软件 | 四合院设计_四合院装修_四合院会所设计-四合院古建设计与建造中心1 | 密集架|电动密集架|移动密集架|黑龙江档案密集架-大量现货厂家销售 | 北京开源多邦科技发展有限公司官网 | 蓝莓施肥机,智能施肥机,自动施肥机,水肥一体化项目,水肥一体机厂家,小型施肥机,圣大节水,滴灌施工方案,山东圣大节水科技有限公司官网17864474793 | 减速机三参数组合探头|TSM803|壁挂式氧化锆分析仪探头-安徽鹏宸电气有限公司 | 红外光谱仪维修_二手红外光谱仪_红外压片机_红外附件-天津博精仪器 | 深圳网站建设-高端企业网站开发-定制网页设计制作公司 | 上海橡胶接头_弹簧减震器_金属软接头厂家-上海淞江集团 | 电杆荷载挠度测试仪-电杆荷载位移-管桩测试仪-北京绿野创能机电设备有限公司 | 茶楼装修设计_茶馆室内设计效果图_云臻轩茶楼装饰公司 | 聚氨酯催化剂K15,延迟催化剂SA-1,叔胺延迟催化剂,DBU,二甲基哌嗪,催化剂TMR-2,-聚氨酯催化剂生产厂家 | 深圳善跑体育产业集团有限公司_塑胶跑道_人造草坪_运动木地板 | 全自动翻转振荡器-浸出式水平振荡器厂家-土壤干燥箱价格-常州普天仪器 | 搜活动房网—活动房_集装箱活动房_集成房屋_活动房屋 | 深圳网站建设-高端企业网站开发-定制网页设计制作公司 | 锂电叉车,电动叉车_厂家-山东博峻智能科技有限公司 | 网优资讯-为循环资源、大宗商品、工业服务提供资讯与行情分析的数据服务平台 | Win10系统下载_32位/64位系统/专业版/纯净版下载 | 重庆波纹管|重庆钢带管|重庆塑钢管|重庆联进管道有限公司 | 电机铸铝配件_汽车压铸铝合金件_发动机压铸件_青岛颖圣赫机械有限公司 |