출처
- 해당 포스트는 정수원 강사님의 스프링 배치 - Spring Boot 기반으로 개발하는 Spring Batch 강의를 바탕으로 작성 됐습니다.
목차
- Spring Batch - 24. FlowJob
- Post not found: spring/spring-batch/tasklet/spring-batch-23-JobStep
- Spring Batch - 22. Tasklet 기반 Step
- Spring Batch - 21. TaskletStep
- Spring Batch - 20. StepBuilderFactory 와 StepBuilder
- Spring Batch - 19. JobParameters 증가 JobParametersIncrementer
- Spring Batch - 18. Job 의 재시작 방지 preventRestart
- Spring Batch - 17. JobParameters 검증 JobParametersValidator
- Spring Batch - 16. SimpleJob 와 SimpleJobLauncher
- Spring Batch - 15. JobBuilderFactory & JobBuilder
- Spring Batch - 14. 배치 초기화 설정 (application.properties)
- Spring Batch - 13. JobLauncher
- Spring Batch - 12. JobRepository
- Spring Batch - 11. ExecutionContext
- Spring Batch - 10. StepContribution
- Spring Batch - 09. StepExecution 와 STEP_EXECUTION 테이블
- Spring Batch - 08. Step
- Spring Batch - 07. JobExecution 와 JOB_EXECUTION 테이블
- Spring Batch - 06. JobParameter 와 JOB_EXECUTION_PARAM 테이블
- Spring Batch - 05. JobInstance 와 JOB_INSTANCE 테이블
- Spring Batch - 04. JobLauncher
- Spring Batch - 03. Job
- Spring Batch - 02. Batch 에서 사용하는 Table
- Spring Batch - 01. @EnableBatchProcessing
Job 의 재시작 방지 - preventRestart
Job 이 실패하더라도 재시작하지 않도록 설정한다.
SimpleJob 에는 Job의 재시작을 관리하는 restartable 은 기본값이 True 로 설정돼 있어 Job 이 실패했을시 재시작 하도록 합니다. preventRestart 메소드는 restartable 를 False 로 변경해 Job 이 실패하더라도 재시작하지 않도록 합니다.
preventRestart 메소드는 Job 실행에 대한 JobExecution 객체가 있는지 확인하고 기존 객체가 없을 경우 Job 을 수행합니다. 만일 기존 JobExecution 객체가 있을 경우 Job 을 수행하지 않고 JobRestartException 예외를 발생시킨다.