天天看點

Spring Batch異常

異常資訊:

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));

是以如果

是以如果任務是周期執行的(如每月執行一次),那麼必須保證周期内參數是唯一。 

繼續閱讀