Spring batch spring批处理一次只运行一个作业实例,并将其创建为队列

Spring batch spring批处理一次只运行一个作业实例,并将其创建为队列,spring-batch,spring-integration,Spring Batch,Spring Integration,一次仅在作业实例上运行此确定: } ... 我不会停止作业,而是创建一个队列 可以使用spring集成吗 我想 但它不起作用 public class jobMailListener implements JobExecutionListener { // active JobExecution, used as a lock. private JobExecution _active; public void beforeJob(JobExecution jobExecution)

一次仅在作业实例上运行此确定:

}


...
我不会停止作业,而是创建一个队列

可以使用spring集成吗

我想 但它不起作用

public class jobMailListener implements JobExecutionListener {

// active JobExecution, used as a lock.
private JobExecution _active;


public void beforeJob(JobExecution jobExecution) {
    // create a lock
    synchronized (jobExecution) {
        if (_active != null && _active.isRunning()) {
             //***************************//
            // Here create/storage in queue it up ? 
            //****************************//
            jobExecution.stop();
        } else {
            _active = jobExecution;
        }
    }
}

public void afterJob(JobExecution jobExecution) {
    // release the lock
    synchronized (jobExecution) {
        if (jobExecution == _active) {
            _active = null;
        }
    }
}
<batch:job id="envoiMail" restartable="true">
    <batch:listeners><batch:listener ref="jobMailListener"/>
    <batch:step id="prepareData">...