有没有办法在spring batch中启用和禁用listener.也就是说,不从上下文中删除配置我应该能够control.Can任何人帮助我这一点
<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我的侦听器用于在读取、写入和步骤级别记录作业详细信息。我不想记录某些实例的日志
发布于 2015-12-03 02:25:50
spring batch内建的任何东西都不会禁用已配置的侦听器。
但是,您可以始终包装您用来编写的任何逻辑
if (enabled) then do
end if
发布于 2015-12-03 14:34:00
为什么不使用JavaApi (JobBuilder/StepBuilder)来构建您的工作呢?根据属性,您可以决定添加哪些侦听器和不添加哪些侦听器:
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需要一些时间。但是这种努力是值得的,因为你可以完全动态地构建你的整个工作。
https://stackoverflow.com/questions/34045919
复制相似问题