首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >启用和禁用spring batch监听器

启用和禁用spring batch监听器
EN

Stack Overflow用户
提问于 2015-12-02 23:01:26
回答 2查看 1K关注 0票数 0

有没有办法在spring batch中启用和禁用listener.也就是说,不从上下文中删除配置我应该能够control.Can任何人帮助我这一点

代码语言:javascript
运行
复制
<batch:job id="JobA" restartable="true">
        <batch:step id="abcde">
            <batch:tasklet transaction-manager="transactionManager">
                <batch:chunk reader="Reader" writer="Writer" processor="Processor" commit-interval="10" />
            </batch:tasklet>
        <listeners>
            <listener ref="customStepListener" />
            <listener ref="customItemReaderListener" />
            <listener ref="customItemWriterListener" />
            </listeners>
 </batch:step>
</batch:job>

在不从上下文中删除配置的情况下,是否有任何方法可以禁用来自listening.Like标志的侦听器,这类标志可以启用或禁用listeners.Currently我的侦听器用于在读取、写入和步骤级别记录作业详细信息。我不想记录某些实例的日志

EN

回答 2

Stack Overflow用户

发布于 2015-12-03 02:25:50

spring batch内建的任何东西都不会禁用已配置的侦听器。

但是,您可以始终包装您用来编写的任何逻辑

代码语言:javascript
运行
复制
if (enabled) then do
end if
票数 0
EN

Stack Overflow用户

发布于 2015-12-03 14:34:00

为什么不使用JavaApi (JobBuilder/StepBuilder)来构建您的工作呢?根据属性,您可以决定添加哪些侦听器和不添加哪些侦听器:

代码语言:javascript
运行
复制
SimpleStepBuilder builder = stepBuilderFactory.get(STEP_NAME)
                .<InputDto, OutputDto>chunk(100)
                .reader(myreader)
                .writer(mywriter);
if (conditionForListener1) {
   builder.listener(mylistener1);
}
if (conditionForListener2) {
   builder.listener(mylistener2);
}

return builder.build();

我知道熟悉构建SpringBatches的JavaApi需要一些时间。但是这种努力是值得的,因为你可以完全动态地构建你的整个工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34045919

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档