Spring Batch JobExecutionAlreadyRunningException: A job execution for this job is already running

내용

Spring Batch가 예기치 못한 상황으로 인해 비정상 종료된 경우에 실행할 때 이미 job이 실행중일 때 발생하는 Exception입니다.

해결방안

콘솔에서 JobInstance ID 확인

A job execution for this job is already running: JobInstance: id={JobInstance ID}, version=0, Job=[{Job Name}]

BATCH_JOB_EXECUTION 테이블 status(상태), exit_code(종료코드) 수정

UPDATE
    batch_job_execution
SET
    end_time = now(),
    status = 'COMPLETED',
    exit_code = 'FAILED'
WHERE
   job_execution_id = {JobInstance ID}
      (SELECT
         MAX(job_execution_id)
       FROM
         batch_job_execution
       WHERE
         job_execution_id = {JobInstance ID}
      );

참조