1
我對Spring很新。我正在使用spring批處理執行一項工作。我配置了一切,它工作正常。 但我有一個問題。從XML配置我打電話給JobListener類來更新批量啓動信息。彈簧批次從監聽器類調用DAO類
從XML配置我能夠能夠調用JobListener並初始化datasoure和jobID。但是我需要從JobListener類調用稱爲JobDAO的類來插入批處理狀態。 有沒有可能在xml中配置,或者我需要爲JobDAO類創建對象並調用它。
對不起,這種問題。 Kinldy幫助我。
<batch:job id="txn-det" >
<batch:step id="step1">
// Item reader & Item writer
</batch:step>
<batch:listeners>
<batch:listener ref="jobListener" />
</batch:listeners>
</batch:job>
<bean id="jobListener" class="com.JobListener" >
<property name="dataSource" ref="dataSource"/>
<property name="jobID" value="TXN01"/>
</bean>
JobListener.java
public class JobListener implements JobExecutionListener {
@Autowired
DataSource dataSource;
String jobID = null;
@Autowired
JobDAO jobDAO = null;
@Autowired
public void setDataSource(DataSource dataSource){
this.dataSource = dataSource;
}
public void setjobID(String jobID) {
this.jobID = jobID;
}
@Override
public void beforeJob(JobExecution jobExecution) {
startTime = new Date();
System.out.println("Job starts at :"+startTime);
// TODO Call DAO to insert Job status
jobDAO.logJobStatus(); // Null pointer is throwing here
}
@Override
public void afterJob(JobExecution jobExecution) {
}
}