异步保存日志
需要异步保存日志时发现:调用此方法并未异步执行。
public Map<String,Object> updateSampleSet(Map<String, Object> params) {
try {
service.update(params);
service.addLog(params);
} catch (Exception e) {
log.error("批量修改问题类别失败:{}",e);
}
return DataUtil.success(count);
}
@Async
public void addLog(Map<String, Object> params) {
dao.addLog(params);
}
解决方法:
1、SpringBoot 启动类是否加上了@EnableAsync注解
2、将需要被异步调用的方法写到其他类中(两个方法都在同一个类里面,只是一个方法调用另一个异步方法,此时异步不生效)
3、重新获取一个bean,在service接口层创建一个方法,实现层实现这个方法,再调用异步方法
SampleService service = SpringUtil.getBean(SampleService.class);
工具类地址如下:
https://blog.csdn.net/WyattWjt/article/details/109292155?spm=1001.2014.3001.5501