2014-01-13 6 views

답변

7

시도하고있는 것은 불가능하다. JobParameter 문서에서

: 일괄 작업에 매개 변수의

도메인의 표현입니다. 다음 형식 만 매개 변수가 될 수 있습니다 : String, Long, Date 및 Double. 식별 플래그는 매개 변수가 작업 인스턴스의 식별 부분 인 으로 사용되는지 여부를 나타 내기 위해 사용됩니다.

id의 목록을 쉼표로 구분 된 문자열에 쓰고 단일 매개 변수로 전달하려고하지만 유추 할 때 그 문자는 has a length of at most 250 bytes입니다. 한도를 높이거나 다른 방법을 사용해야합니다.

아마 당신은 왜 당신이 그 ID의 목록을 전달해야하는지 설명 할 수 있습니다.

0

ItemReader에서 목록을 전달하려면 JobParameters을 먼저 가져야합니다 (독자의 단계 범위를 지정해야합니다 (this thread 참조).

목록을 매개 변수로 JobParameters에 넣어야합니다. JobParameters는 불변이므로, 새로운 오브젝트를 생성 할 필요가있다.

List yourList = .... 
JobParameters jp = (JobParameters) fac.getBean("params"); 
Map map=params.getParameters(); 
map.put("yourList", list); 
params=new JobParameters(map); 
launcher.run(job, params);