Spring Batch禁用一组作业

时间:2017-08-23 15:13:30

标签: java cron spring-batch

我需要能够仅更改配置值来启用/禁用一组作业。

到目前为止,我所做的一切都是这样的。

<property name="cronExpression" value="#{${child.system.batch.jobs.enabled}==true?'${batch.poll.queue.cron.expression}':'0 0 0 1 1 ? 2099'}" />

它的作用是检查 child.system.batch.jobs.enabled 如果启用了它,只需使用配置的cron表达式,但是如果它被禁用,那么将来只需要一个cron 。

这对我来说似乎很干净。但是,我认为我们有可能在某些时候在启动时运行所有批处理作业,配置如下:

spring.batch.job.enabled=true 

但是如果我们这样做,我实现的解决方案将无法工作,因为无论将来的cron表达式如何,该作业将在启动时执行。

所以我需要的是像

<job id="myJob" enabled="${child.system.batch.jobs.enabled}" >

但我不知道这是否可行。当然,如果启用或禁用标志,我不想为每个作业添加属性并以编程方式检查java代码。

谢谢!

0 个答案:

没有答案