2014-12-23 25 views
0

我設置在我的分區的stepExecutionContext價值,並試圖把它的作家訪問stepExecutionContext值。無法在作家

但我無法訪問它。

作者是一步作用域。

任何人都可以幫助我如何獲得作家的步驟執行上下文值嗎?

感謝

桑卡

+1

你有什麼嘗試/ errortrace?你的作家配置如何?通常情況下,你可以通過設置像''你的作家配置的屬性得到一個'ExecutionContext'值。 – dimzak

+0

其實我忘了在我的分區中有財產。我只是在沒有屬性的情況下在ExecutionContext中設置值。謝謝您的幫助。 – Shankar

回答

1

您可以在作家落實StepExecutionListener在作家獲得stepExecution

public class ExampleWriter implements ItemWriter<T>,StepExecutionListener { 
private JobExecution jobExecution; 

@Override 
public void write(List<? extends T> items) { 
String executionContextValue=jobExecution.getExecutionContext().get("KEY"); 
System.out.println("ExecutionContextValue is:"+executionContextValue); 
} 

@Override 
public ExitStatus afterStep(StepExecution stepExecution) { 
    return null; 
} 

@Override 
public void beforeStep(StepExecution stepExecution) { 
    this.jobExecution= stepExecution.getJobExecution(); 
} 

}

如果需要註冊這個類在xml配置監聽器

<listener>ExampleWriter</listener>