개발자 편의성을 위하여 사용자 정의에 따라 배치 작업 실행 파일을 자동으로 생성해주는 마법사를 제공한다.
배치 작업을 실행하기 위해 기본적으로 구성되어야 하는 JobLauncher, JobOperator, JobExplorer, JobRegistry등의 정보를 담은 파일을 생성하는 마법사를 제공한다.
항목 | 설명 | 기본값 |
---|---|---|
Launcher ID | 배치작업을 실행시키는 역할을 한다. | jobLauncher |
Execution Type | Job을 실행 설정으로 Synchronous, Asynchronous 중 선택하여 사용한다. | Synchronous 선택 |
Operator ID | Job을 제어하여 일반적인 모니터링 작업을 위해 사용한다. | jobOperator |
Explorer ID | Repository에 접근하여 배치작업에 대한 정보를 얻는다. | jobExplorer |
Registry ID | 생성된 Job을 Map 형태로 추가, 삭제 등의 관리한다. | jobRegistry |
Repository Type | CRUD의 기능을 담고 있는 집합체로 DB(Reference), DB(New), Memory 중 선택하여 사용한다. | DB(Reference) 선택 |
✔ 주의
Repository Type은 JobRepository 설정이 프로젝트 내에 존재하지 않을 경우 사용 가능하다. 즉, JobRepository의 경우 프로젝트 당 하나만 존재할 수 있다.
왜냐하면 제공하는 context-batch-job-launcher.xml 은 내부적으로 SimpleJobLauncher를 갖고 있는데 여기서 빈 ID가 jobRepository 인 클래스를 사용하도록 설정되어 있다. 또한, Job과 Step의 수행에서 내부적으로 빈 ID가 jobRepository 인 클래스를 읽도록 설정되어 있기 때문이다.
✔ Tip
기존 전자정부 표준프레임워크 프로젝트를 사용하던 개발자들은 Batch Nature만 추가시켜 배치개발환경을 사용할 수 있다.
. . . <bean id="newJobLauncher.egovBatchRunner" class="egovframework.brte.core.launch.support.EgovBatchRunner"> <constructor-arg ref="jobRepository" /> <constructor-arg ref="jobOperatorExample" /> <constructor-arg ref="jobExplorerExample" /> </bean> <bean id="jobLauncherExample" class="org.springframework.batch.core.launch.support.SimpleJobLauncher"> <property name="jobRepository" ref="jobRepository" /> </bean> <bean id="jobRegistryExample" class="org.springframework.batch.core.configuration.support.MapJobRegistry" /> <bean class="org.springframework.batch.core.configuration.support.JobRegistryBeanPostProcessor"> <property name="jobRegistry" ref="jobRegistryExample" /> </bean> <bean id="jobOperatorExample" class="org.springframework.batch.core.launch.support.SimpleJobOperator" p:jobLauncher-ref="jobLauncherExample" p:jobExplorer-ref="jobExplorerExample" p:jobRepository-ref="jobRepository" p:jobRegistry-ref="jobRegistryExample" /> <bean id="jobExplorerExample" class="org.springframework.batch.core.explore.support.JobExplorerFactoryBean" /> . . .