개발자 편의성을 위하여 Decision의 설정 항목을 입력받아 배치 작업 파일 템플릿을 자동으로 생성해주는 마법사를 제공한다.
배치 작업 설정 항목 중 Decision내에 설정할 수 있는 기본적인 항목을 사용자가 입력하는 마법사를 제공한다.
항목 | 하위 항목 | 설명 | 기본값 |
---|---|---|---|
Job ID | 배치 작업 파일 생성시 하나의 프로세스를 나타내는 작업명 | Decision을 Add할 Job의 ID | |
Decision ID | exit-code를 이용하여 분기를 설정하는 decision 명 | 사용자 지정 | |
Next | on | 전달받은 Step 또는 Decision의 exit-code와의 일치 여부 판별 | COMPLETED |
Next | to | 전달받은 Step 또는 Decision의 exit-code와 일치할 경우, 지정한 Step 혹은 Decision으로 분기 | 사용자 지정 |
End | on | 전달받은 Step 또는 Decision의 exit-code와의 일치 여부 판별 | COMPLETED |
End | exit-code | 전달받은 Step 또는 Decision의 exit-code와 일치할 경우, 해당 Step의 배치 종료 상태 지정 | 사용자 지정 |
Fail | on | 전달받은 Step 또는 Decision의 exit-code와의 일치 여부 판별 | FAILED |
Fail | exit-code | 전달받은 Step 또는 Decision의 exit-code와 일치할 경우, 해당 Step의 배치 종료 상태 지정 | 사용자 지정 |
Stop | on | 전달받은 Step 또는 Decision의 exit-code와의 일치 여부 판별 | COMPLETED |
Stop | restart | 작동 중 정지한 Job이 restart할 경우, on 항목과 전달받은 Step 또는 Decision의 exit-code와 일치한다면 restart 항목에 재시작할 Step 지정 | 사용자 지정 (Step/Decision List에 등록한 항목들 중 택 1) |
/** stepExecution의 exitCode를 변경 없이 return 하는 클래스 */ public class EgovDecider implements JobExecutionDecider{ public FlowExecutionStatus decide(JobExecution jobExecution, StepExecution stepExecution) { return new FlowExecutionStatus(stepExecution.getExitStatus().getExitCode()); } }
Decision에 대해 더 자세한 설명이 필요한 경우 다음을 참고한다.
주의
✔ Decision을 등록한 후 등록한 Decision을 기 등록한 Step 혹은 Decision의 next에 반드시 등록시켜야 한다.
✔ next 등록시 무한 루프를 돌지 않도록 Step 혹은 Decision을 등록해야 한다.
✔ Spring의 경우 bean id 중복을 불허하기 때문에 전자정부 프레임워크 배치개발환경에서도 기존에 등록된 bean id의 중복 등록을 방지하고 있다.