zoukankan      html  css  js  c++  java
  • Quartz:Quartz添加事务回滚报错

    自动任务类:

    @PersistJobDataAfterExecution
    @DisallowConcurrentExecution
    public class ReCodeBack implements Job {
    
        private static final Logger LOGGER = LoggerFactory.getLogger(ReCodeBack.class);
    
        @Autowired
        ReCodeBackTag reCodeBackTag;
    
        @Override
        public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
            reCodeBackTag.backupsReCode();
        }
    
    
    }

    自动任务注解:

    @PersistJobDataAfterExecution

    @DisallowConcurrentExecution

    任务需求是需要添加事务

    运用spring注解@Transactional注解

        /**
         * 添加(删除)表数据
         * @param object
         * @param modular
         * @return
         */
        @Transactional(rollbackFor = Exception.class)
        public int tableOperation (Object object,String modular){
        int count = 0;
        try{
            .......
        }catch (Exception e) {
                LOGGER.info("[添加(删除)表数据] ERROR :{}", e.getMessage());
                //事务回滚
                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                //任务异常中断,立即重新运行
                JobExecutionException e2 = new JobExecutionException(e);
                e2.setRefireImmediately(true);
                throw e2;
            }finally {
                return count;
            }
        }

    注意:当作者在自动任务类进行使用@Transactional注解时,程序会进行报错(太懒……原因没搞清楚,后续会补上),所以作者分成了两个类来编写的,一个定时调用类,一个业务类,如上代码。

  • 相关阅读:
    HOG特征提取+python+opencv
    统计模型计算量~pytorch
    CycleGAN训练~训练图像进行拼接
    缺陷检测~分类网络
    缺陷检测~分类网络
    缺陷检测~检测网络
    pytorch中的fc和fc逆操作
    pytorch中的view和view逆操作
    传统的图像特征提取
    TensorFlow安装+入门操作
  • 原文地址:https://www.cnblogs.com/nhdlb/p/12095859.html
Copyright © 2011-2022 走看看