我想用条件启动骡子石英。例如:在骡子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.flag
是on
或off
的属性
我使用了一个解决方法来实现这种行为。我定义了一个 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