有条件地运行骡子石英



我想用条件启动骡子石英。例如:在骡子peroperties文件中,我放了一个标志=on。如果该标志处于打开状态,则只有这样调度程序才会启动。如果该标志关闭,则不会调用计划。

我怎样才能在骡子中做到这一点?请帮助

Mule 与 Spring 连接在一起,因此可用于使一些 bean 条件的技巧/功能也应该适用于 Mule。

我会尝试以下方法:

  • 将启动 Quartz 端点的流定义提取到quartz-config-on.xml
  • 创建一个名为 quartz-config-off.xml 的空 Mule XML 配置
  • 在主 Mule XML 配置中,使用: <import resource="quartz-config-${quartz.flag}.xml"/> 其中quartz.flagonoff的属性

我使用了一个解决方法来实现这种行为。我定义了一个 Quartz 连接器,其中触发它的 cron 表达式是从属性文件加载的。

如果你把表达式放在直到 2099 年才会触发的东西上,它几乎相当于一个禁用的 cron。

<quartz:inbound-endpoint cronExpression="${cron1.expression}"
                jobName="scheduler1" doc:name="Scheduler 1">
    <quartz:event-generator-job>
        <quartz:payload>${cron1.request};${cron1.trade.date.offset}/quartz:payload>
    </quartz:event-generator-job>
</quartz:inbound-endpoint>

和属性文件:

#Scheduler 1 settings
cron1.expression = 3 14 15 9 2 ? 2099
cron1.request = none
cron1.trade.date.offset = 0

最新更新