springboot 定时执行任务,任务中抛出异常数据没有回滚

package hyd.webser.scheduledTask.task;

import com.baomidou.dynamic.datasource.annotation.DSTransactional;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import hyd.webser.scheduledTask.entity.Gznrb_tableEntity;
import hyd.webser.scheduledTask.entity.Ycsj_tableEntity;
import hyd.webser.scheduledTask.mapper.Gznrb_tableDao;
import hyd.webser.scheduledTask.mapper.Ycsj_tableDao;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.SchedulingConfigurer;
import org.springframework.scheduling.config.ScheduledTaskRegistrar;
import org.springframework.scheduling.support.CronTrigger;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;
import java.util.Map;


@Component
public class ycsjScheduledTask implements SchedulingConfigurer {

    private final Gznrb_tableDao gznrb_tableDao;
  

    @Autowired
    public ycsjScheduledTask(Gznrb_tableDao gznrb_tableDao) {
        this.gznrb_tableDao = gznrb_tableDao;
    }


    @Transactional
    public void scheduledTask() {
        // 这里执行数据库curd后 

        
        // 然后抛出异常后数据没有回滚
        throw new RuntimeException("抛出异常!!!");
    }

    @Override
    public void configureTasks(ScheduledTaskRegistrar scheduledTaskRegistrar) {
        scheduledTaskRegistrar.addTriggerTask(() ->
                        // 1 需要定时执行的任务
                        scheduledTask(),
                triggerContext -> {
                    //2.1 从数据库获取执行周期
                    String cron = gznrb_tableDao.getCron("ycsj");
                    //2.2 合法性校验.
                    if (StringUtils.isEmpty(cron)) {
                        cron = "0 0/1 * * * ?";
                    }
                    //2.3 返回执行周期(Date)
                    return new CronTrigger(cron).nextExecutionTime(triggerContext);
                });

    }
}

抛出异常后数据没有回滚 ,求大佬帮忙看下

那加个回滚处理试试,rollback transaction.

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632