我有一個要求,即tasklet將所有文件存儲在arraylist中的目錄中。列表的大小存儲在作業執行上下文中。稍後在另一個步驟中從另一個任務小程序訪問此計數。它是如何做到這一點的。我試着在jobexecution背景下存儲,在運行時會引發不可修改收集例外,從tasklet存儲在JobExecutionContext中並在另一個tasklet中訪問
public RepeatStatus execute(StepContribution arg0, ChunkContext arg1)
throws Exception {
StepContext stepContext = arg1.getStepContext();
StepExecution stepExecution = stepContext.getStepExecution();
JobExecution jobExecution = stepExecution.getJobExecution();
ExecutionContext jobContext = jobExecution.getExecutionContext();
jobContext.put("FILE_COUNT",150000);
也存儲在beforestep註釋的stepexection參考.still不possioble.kindly讓我知道,如何將兩個微進程之間共享數據。
謝謝,我會看看這個。我想從JobExecutionDecider bean中提取jobexecutioncontext中的值 –
@MichaelLange:爲什麼原始Suresh的代碼拋出異常?它在語義上與您提供的代碼片段相同。 –
它應該工作,我只是猜測他使用'chunkContext.getStepContext()。getJobExecutionContext()。put(...)'之前,這將拋出不可修改的異常 –