收听在步骤内运行的作业的后写

时间:2016-10-24 15:43:32

标签: spring-batch

这是我的步骤配置:

@Bean
Step processEnrollment(@Lazy Job enrollmentProcessor) {
    return this.steps.get("processEnrollment")
        .job(enrollmentProcessor)
        .launcher(this.jobLauncher)
        .parametersExtractor(DEFAULT_PARAM_EXTRACTOR)
        .listener(/*StepExecutionListener*/)
        .build();
}

我的问题是.listener()只接受步执行侦听器。例如,有没有办法注册作家听众?我不想结合"内部"这个听众的工作。

1 个答案:

答案 0 :(得分:0)

如果将完整的作业包装成一个步骤,则无法注册块,读取或写入侦听器。

这个步骤简单地包装了一份工作,并且不知道工作中发生了什么。它只知道它何时开始以及何时结束;听众不会传播到子元素。 这也是同样的原因,为什么你不能在工作中注册一个块,读或写听众。

如果要注册写入侦听器,则必须在enrollmentProcessor-job的相应步骤中执行此操作。