Spring定时任务事务回滚并且对异常进行统一处理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring定时任务事务回滚并且对异常进行统一处理相关的知识,希望对你有一定的参考价值。
参考技术A /*** 定时任务配置
* @author congyiqun
* @since 2021-05-31
*/
@Slf4j
@Configuration
@EnableScheduling //开启定时任务
public class SchedulingConfimplements SchedulingConfigurer
private final ThreadPoolTaskSchedulertaskScheduler;
public SchedulingConf()
taskScheduler =new ThreadPoolTaskScheduler();
taskScheduler.setErrorHandler(throwable ->log.error(ExceptionUtils.getStackTrace(throwable)));
taskScheduler.setThreadNamePrefix("@scheduled-");
taskScheduler.initialize();
@Override
public void configureTasks(ScheduledTaskRegistrar scheduledTaskRegistrar)
scheduledTaskRegistrar.setScheduler(taskScheduler);
Spring管理事务默认回滚的异常
一、默认方式
Spring的事务管理默认只对出现运行期异常(java.lang.RuntimeException及其子类),Error进行回滚。
如果一个方法抛出Exception或者Checked异常,Spring事务管理默认不进行回滚。
二、改变默认方式
在@Transaction注解中定义noRollbackFor和RollbackFor指定某种异常是否回滚。
@Transaction(noRollbackFor=RuntimeException.class)
@Transaction(RollbackFor=Exception.class)
这样就改变了默认的事务处理方式。
以上是关于Spring定时任务事务回滚并且对异常进行统一处理的主要内容,如果未能解决你的问题,请参考以下文章