У меня есть метод repository.save (), вызываемый внутри планировщика. Но это ничего не сохраняет в базу данных. Ниже приведен мой планировщик
@Component
@Transactional
@Slf4j
public class WomConditionActionJob {
@Autowired
private Environment env;
@Autowired
private ECCRepository eCCRepository;
@Autowired
private WOCRepository wOCRepository;
@Autowired
private PSRepository pSRepository;
@Scheduled(fixedDelayString = "${wCATrigger.polling.frequency}", initialDelayString = "${wCATrigger.initial.delay}")
public void execute() {
try {
final PauseStatus pause = pSRepository.findByPSName(PSName.PAUSE);
pauseCondition(pause,threshold);
} catch (Exception e) {
log.error("Exception Occured {}", e);
}
}
private void pauseCondition(final PauseStatus pause, final Integer threshold) {
WOTCondition wotCId = workOrderConditionRepository.findById(1).get();
wotCId.setPauseStatus(pause);
wotCId.setIsUserAction(Boolean.FALSE);
workOrderConditionRepository.save(wotConditionbyId);
conditionCount.setErrorCount(0);
errorConditionCountRepository.save(conditionCount);
}
}
Я пытаюсь использовать saveAndFlu sh (), но на этот раз я получил следующее сообщение об ошибке
[pool-2-thread -1] | ОШИБКА | [osssTaskUtils $ LoggingErrorHandler.handleError (96)] | В запланированной задаче произошла непредвиденная ошибка. org.springframework.transaction.UnexpectedRollbackException: Откат транзакции, поскольку она была помечена как только для отката в org.springframework.transaction.support.AbstractPlatformTransactionManager.processRollback (AbstractPlatformTransactionManager. * 1014) * 1014 на *. springframework.transaction.support.AbstractPlatformTransactionManager.commit (AbstractPlatformTransactionManager. java: 710)