b

JobParametersIncrementer의 사용. 본문

spring framework/spring-batch

JobParametersIncrementer의 사용.

dev.bistro 2012. 8. 25. 12:54


Job Parameter를 자동으로 Increment 하기 위해서 사용.

(Job의 구현체를 구분하는 방법은 Job + Job Parameter이기 때문에, Parameter없이는 같은 job을 계속 실행하면 안된다)





@Component
public class SimpleJobParametersIncrementer implements JobParametersIncrementer {

	static final SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd-hhmmss");
	public JobParameters getNext(JobParameters parameters) {
		String id = format.format(new Date());
		return new JobParametersBuilder().addString("run.id", id).toJobParameters();
	}

}
	
        
	    
	

	
		


요약
1. JobParametersIncrementer 구현
2. JobExplorerFactoryBean bean 설정
3. job에 increment로 1번 설정
4. 실행은 xmlfile jobanme [-next] 를 추가

참고

http://numberformat.wordpress.com/2010/02/07/multiple-batch-runs-with-spring-batch/


참고2 [BATCH_JOB_PARAMS] 테이블

JOB_INSTANCE_ID TYPE_CD KEY_NAME STRING_VAL DATE_VAL LONG_VAL DOUBLE_VAL

3 STRING run.id 20120825-124631 1970-01-01 09:00:00 0 0

4 STRING run.id 20120825-125909 1970-01-01 09:00:00 0 0


참고3. 기본적으로 제공하는 crementer는

org.springframework.batch.core.launch.support.RunIdIncrementer 가 있고 key를 프로퍼티로 받는다. 

https://fisheye.springsource.org/browse/spring-batch/spring-batch-core/src/main/java/org/springframework/batch/core/launch/support/RunIdIncrementer.java?r=488ba7a37b70c62a2ac40d6c945ea940408add80


'spring framework > spring-batch' 카테고리의 다른 글

JAXP DOM4J, JDOM2의 성능 비교  (0) 2013.11.13
Spring Batch Admin  (0) 2013.01.11
JobLauncher, SimpleJobLauncher  (0) 2012.08.28
Comments