我需要帮助为Mule调度器作业创建cron表达式。
场景:每个月的作业应该从第3天到第6天,每2小时运行一次(一天内),而这些天应该是工作日(只有星期一到星期五)。
我在cronMaker中尝试了下面的cron表达式:0 0 7-20/2 3-5 *Mon*这里我得到了上面表达式的错误。
请帮我解决这个问题。提前谢谢你。
发布于 2021-08-06 14:02:20
如果在实际的Mule应用程序中尝试相同的cron表达式,-I使用Mule运行时4.3- -使用调度器源,您将得到以下错误:
Support for specifying both a day-of-week AND a day-of-month parameter is not implemented.这是Scheduler在其实现中使用的Quartz库的一个限制。这意味着不可能在Mule Scheduler或Quartz Java应用程序中使用这种cron表达式。
可能CronMaker也有相同的限制,但它没有显示完整的错误消息。
更新:您可以通过只使用其中一种条件来避免这种限制,例如,月一天(它将触发较少的激活),并且在流的开头添加一个条件,使用DataWeave表达式检查一周中的某一天。有了选择,如果不是合适的一天,您就可以避免执行其余的流。
据我所知,没有其他类似的流源组件。您可以尝试使用骡子SDK在Java中创建自己的。
https://stackoverflow.com/questions/68680247
复制相似问题