您现在的位置是:Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款 > 

04 Redis消息訂閱(redis消息隊列還有其他嗎)

Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款2024-06-07 10:31:52【】5人已围观

简介>sendMessage.sendMessage(Constants.REDIS_QUEUE_SMS_WEB,smsMessageVo);//Constants.REDIS_QUEUE_SMS_WEB

>

sendMessage.sendMessage(Constants.REDIS_QUEUE_SMS_WEB, smsMessageVo);

//Constants.REDIS_QUEUE_SMS_WEB = "sms_queue_web_online",和applicationContext-redis中topic配置一樣123456789101112131415161718192021

4.監聽消息

//SmsMessageDelegateListener.java@Component("smsMessageDelegateListener")public class SmsMessageDelegateListener {

@Autowired

private SmsQueueService smsQueueService;    //監聽Redis消息

public void handleMessage(Serializable message){        if(message instanceof SmsMessageVo){

SmsMessageVo messageVo = (SmsMessageVo) message;            //發送短信

SmsSender smsSender = SmsSenderFactory.buildEMaySender();

smsSender.setMobile(messageVo.getMobile());

smsSender.setContent(messageVo.getContent());            boolean sendSucc = false;            //判斷短信類型

//驗證碼短信

if(messageVo.getType() == (byte)SmsType.VERIFICATION.getType()){

sendSucc = smsSender.send();

}            if(!sendSucc){                return;

}            // 異步更新短信表狀態為發送成功

final Integer smsId = messageVo.getSmsId();

Executor executor = Executors.newSingleThreadExecutor();

executor.execute(new Runnable() {                public void run() {

SmsQueue smsQueue = new SmsQueue();

smsQueue.setSmsId(smsId);

smsQueue.setStatus((byte)SmsSendStatus.SEND.getType());

smsQueue.setProcessTime(new Date());

smsQueueService.updateSmsQueue(smsQueue);

}

});

}

}

}123456789101112131415161718192021222324252627282930313233343536373839404142434445

4.總結

下面使用一張流程圖,來總結Redis消息隊列和短信服務。 

閱讀全文

很赞哦!(47166)

Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款的名片

职业:程序员,设计师

现居:山西晋中和顺县

工作室:小组

Email:[email protected]