프로젝트가 시작되었고 예약된 작업에서 오류가 보고되었습니다. 구성된 일정에 따라 지정된 트리거 'DEFAULT.TASK_CLASS_NAME131'

이는 예약된 작업에 설정된 cron 표현식 시간이 과거이므로 작업이 시작되지 않아 오류가 보고되기 때문입니다.

다른 기사를 확인하면 cron 표현식을 수정할 수 있다고 나와 있지만 여기서 요구 사항은 한 번만 실행되는 예약된 작업의 존재를 허용하는 것입니다. 즉, 예약된 작업이 실행된 후 cron 표현식이 확실히 만료됩니다
.
그래서 오류 보고부터 시작할 수 있는데, 프로젝트를 시작하면 오류가 보고되는데, 이는 프로젝트가 시작되고 타이머가 초기화되면 데이터베이스에 있는 모든 예정된 작업이 예정된 작업 스케줄러에 제출되기 때문입니다. cron 표현식이 발견되면 오류가 감지되어 프로젝트 시작에 실패하게 됩니다. 그런 다음 예약된 작업이 스케줄러에 제출될 때 try-catch 처리를 추가하고 문제가 있는 경우 만료된 cron 작업을 건너뛸 수 있습니다.

@PostConstruct
public void init() throws SchedulerException, TaskException
{
    
    
    scheduler.clear();
    List<SysJob> jobList = jobMapper.selectJobAll();
    for (SysJob job : jobList) {
    
    
        try {
    
    
            ScheduleUtils.createScheduleJob(scheduler, job);
        }catch (Exception e){
    
    
            continue;
        }
    }
}

이 문제가 발생했을 때 제가 생각한 해결책은 일방적일 수도 있고 다른 요소를 고려하지 않았을 수도 있으니 참고용으로만 사용하세요. .

Guess you like

Origin blog.csdn.net/s990420/article/details/132599654