@Transactional public void updateBatchById(Schedule schedule) { Schedule scheduleOld = dao.getById(schedule.getId()); schedule.setCron(scheduleOld.getCron()); schedule.setClassName(scheduleOld.getClassName()); schedule.setMethodName(scheduleOld.getMethodName()); List<Schedule> scheduleList = new ArrayList<>(); scheduleList.add(schedule); // 删除数据库里的任务 dao.updateBatchById(scheduleList); throw new RuntimeException("yichang"); /* // 停止定时任务 scheduleList.stream().forEach(item -> { taskBizService.removeSchedule(item); });*/ }
时间: 2023-07-16 17:11:32 浏览: 97
Spring3事务管理——使用@Transactional 注解.rar
这段代码是一个使用@Transactional注解的更新批量任务的方法。在该方法中,先通过指定的id获取要更新的任务,然后将其它属性设置为旧任务的属性,接着将新任务添加到列表中并通过dao.updateBatchById()方法更新到数据库中。最后,通过抛出RuntimeException来模拟方法出现异常。
需要注意的是,在该方法中注释掉了停止定时任务的代码,如果需要停止定时任务,可以将注释去掉。
阅读全文