异步短信通知

背景:

       公司的老系统用户反馈,短信发送异常……

检查发现是批量短信接口超时,前端直接抛异常了,改为异步发送……

    @Autowired
    private ThreadPoolTaskExecutor executor;







//			mobileMessageReadService.batchSend(messages);
//			store.setSmsCount(smsCount - messages.size());
//			storeWriteService.update(store);

            // 批量超时,改为异步
            CompletableFuture<Boolean> future = CompletableFuture.supplyAsync(() -> mobileMessageReadService.batchSend(messages), executor);
            future.whenComplete((r, e) -> {
                if (r) {
                    store.setSmsCount(smsCount - messages.size());
                    storeWriteService.update(store);
                }
            });

ThreadPoolTaskExecutor为自定义的线程池(优雅的线程池)

接收到发送结果后同步短信剩余条数。

发布了33 篇原创文章 · 获赞 6 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/kuangni5808/article/details/102841801
今日推荐