当前位置: 首页 > news >正文

通过异步解决超时问题-使用 Spring 的 @Async 实现异步调用

步骤一:开启异步支持(在启动类或配置类上添加@EnableAsync)

@EnableAsync
@SpringBootApplication
public class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);}
}

 步骤二:创建一个异步服务类(如 SmsAsyncService

将需要异步的代码放在该类中,这里是短信的发送

@Service
public class SmsAsyncService {@Asyncpublic void sendApproveResultSms(String phone, String content) {try {SmsUtil.sendMsg(phone, content);log.info("短信发送成功,手机号:{},信息:{}", phone, content);} catch (Exception e) {log.error("短信发送失败:{}", e.getMessage());}}
}

 步骤三:修改原业务方法,调用异步方法

log.info("发送系统消息,----------------------------------信息:{}",System.currentTimeMillis());// 拆出短信发送部分smsAsyncService.sendApproveResultSms(guild.getPhone(), status == 1 ? content + "已通过!" : content + "未通过,退回理由:" + dto.getReason() + "!");log.info("发送系统消息结束,----------------------------------信息:{}",System.currentTimeMillis());
http://www.dtcms.com/a/265025.html

相关文章:

  • Python毕业设计230—基于python+爬虫+vue的豆瓣影视数据可视化系统(源代码+数据库+15000字论文+开题+答辩ppt)
  • 构建灵活的监控系统:多表存储与动态告警规则设计实践
  • 智能防御原理和架构
  • dial tcp 10.1.68.88:3306: connect: cannot assign requested address
  • 中心化钱包安全方案
  • 跨平台开发的抉择:Flutter vs 原生安卓(Kotlin)的优劣对比与选型建议​​
  • Kotlin Data包含ByteArray类型
  • Dify 工作流全栈解析:从零构建你的 AI 应用流程引擎
  • 如何看待RWA赛道
  • 前端代码优化规范及实践指南
  • leetcode TOP 100 1. 两数之和
  • Centos系统及国产麒麟系统设置自己写的go服务的开机启动项完整教程
  • CentOS 6操作系统安装
  • win11, 两个窗口短时间多次切换时,原本的英文输入法会自动变更成中文输入法。有时候是中文输入法变更成英文输入法
  • 014_循环语句(for / for-each / while / do-while)
  • LeetCode 11.盛最多水的容器
  • Binder机制与实现原理解析
  • 达梦数据库一键安装脚本详解
  • 《P4145 上帝造题的七分钟 2 / 花神游历各国》
  • VSCode-Copilot的系统提示词
  • 云上配送革命:亚矩云手机如何重塑Uber Eats的全球外卖生态
  • Javaweb - 9 HTTP 协议
  • MAC 多应用切换技巧,单应用切换技巧
  • CentOS 卸载docker
  • [学习记录] HLSL-编译指示及属性
  • IPS防御原理和架构
  • Prompt Engineering Guide — 提示工程全方位指南
  • Kafka Controller 元数据解析与故障恢复实战指南
  • UI前端大数据处理策略优化:基于云计算的数据存储与计算
  • leetcode:416.分割等和子集【01背包】【动态规划】