Java 一个石英表达式表示一天执行N次的作业

Java 一个石英表达式表示一天执行N次的作业,java,cron,quartz-scheduler,Java,Cron,Quartz Scheduler,例如,如果我想在3:11:00、16:27:00和18:32:00执行作业。可以通过Java中的单个CRON表达式实现吗 我不这么认为。使用标准的CRON表达式,您可以表示在一个小时的不同分钟运行(“0 11,27,32 3**?”-3:11,3:27,3:32)或在同一分钟的不同小时运行(“0 11 3,16,18**?”-3:11,16:11,18:11)。但是组合它们(“0 11,27,32 3,16,18**?”)将导致表达式每小时触发三次(3:11,3:27,3:32,16:11,16

例如,如果我想在3:11:00、16:27:00和18:32:00执行作业。可以通过Java中的单个CRON表达式实现吗

我不这么认为。使用标准的CRON表达式,您可以表示在一个小时的不同分钟运行(
“0 11,27,32 3**?”
-3:11,3:27,3:32)或在同一分钟的不同小时运行(
“0 11 3,16,18**?”
-3:11,16:11,18:11)。但是组合它们(
“0 11,27,32 3,16,18**?”
)将导致表达式每小时触发三次(3:11,3:27,3:32,16:11,16:27…),这不是您想要的

您可以做的(这是一个合法的解决方案)是定义一个作业并将三个不同的触发器附加到它:

0 11  3 * * ?
0 27 16 * * ?
0 32 18 * * ?

是的,这是真的,定义三个触发器可以解决这个问题。我只是想避免它,因为我认为这是没有效率的。@AmanChandna:好吧,只要你没有成千上万的触发器,性能就不应该是个问题。性能更受并发运行作业数量的影响。