父母子工作与普通工作和父母工作中的步骤监听器

时间:2015-07-02 17:11:20

标签: spring-batch

我们有10-15个diff spring批处理作业,对于每个作业,我们都有一些常见的监听器,如电子邮件通知程序,作业持续时间监听器等。为此,我添加了父作业配置和一些常见的监听器,并将它们打包为一个lib。 / p>

现在在我们的主要具体工作中,我通过在子工作环境中扩展它来使用这个父工作。像这样的东西,其中“parentJob”在另一个公共lib中定义,该lib有一个作业监听器注册到它。

现在,当我运行我的子作业时,它没有执行在父作业中注册的作业监听器。什么可能是isssue?

父作业定义

<batch:job id="parentJob" abstract="true">
    <batch:listeners>
        <batch:listener ref="jobDurationListener"/>
    </batch:listeners>
</batch:job>

儿童工作

<batch:job id="job1" parent="parentJob">
    <batch:step id="step1"  >
        <batch:tasklet transaction-manager="transactionManager" start-limit="100" >
            <batch:chunk reader="reader" writer="writer" commit-interval="1" />
        </batch:tasklet>
    </batch:step>
    <batch:listeners>
        <batch:listener ref="testListener"/>
    </batch:listeners>
</batch:job>

1 个答案:

答案 0 :(得分:1)

对不起这个问题。我应该阅读文档。添加merge =&#34; true&#34;在子作业监听器定义中它解决了问题

相关问题