異常資訊:
org.springframework.batch.core.repository.JobInstanceAlreadyCompleteException: A job instance already exists and is complete for parameters={startDate=20130404, endDate=20130404}. If you want to run this job again, change the parameters.
JobParameters 相同的任務隻能成功運作一次 ,如果連續運作同一個job ,則會出現此異常。
如果需要重複執行:
添加
<bean id ="runIdIncrementer"
class ="org.springframework.batch.core.launch.support.RunIdIncrementer" />
parameters 中
Map<String, JobParameter> parameters = new HashMap<String, JobParameter>();
runIdIncrementer.setKey(“testkey”);
parameters.put("startDate", new JobParameter(new Long(fistDay)));
parameters.put("endDate", new JobParameter(new Long(lastDay)));
JobParameters jobParameters = runIdIncrementer.getNext(new JobParameters(parameters));
是以如果
是以如果任務是周期執行的(如每月執行一次),那麼必須保證周期内參數是唯一。