Java quartz 调度程序:将 unix cron 格式转换为 quartz cron 格式
Java quartz scheduler: convert unix cron format to quartz cron format
我想检查给定的 DateTime 是否与 unix cron 格式匹配。我试图使用 Quartz,但 Quartz 不支持 "Day of Month" 和 "Day of Week" 都是“*”。
例如:
0 * * * * * (which means run every minutes) is not supported in Quartz
因为一定是
0 * * * * ? or 0 * * ? * *.
谁能告诉我原因以及如何将给定的 DateTime 匹配到 Unix cron 格式?
谢谢
为什么 cron 语法不同不是我可以回答的问题,但如果您要寻找的只是一种从 unix 语法转换为 quartz 语法的方法,https://github.com/jmrozanec/cron-utils 过去曾帮助过我。
据我所知,将给定的日期时间与 cron 语法匹配并不是一项简单的任务,因为 cron 意味着一定的重复频率,而 date/time 是一个时刻。
如果您尝试安排一个作业执行一次,我建议您使用一个简单的触发器。
如果您真的想要一个按计划执行的 cron 作业,上面的 cron-utils 库与 cron 触发器相结合应该可以解决问题。
可以在此处找到两个触发器(以及更多)的实现:
http://www.quartz-scheduler.org/api/2.2.1/index.html
我想检查给定的 DateTime 是否与 unix cron 格式匹配。我试图使用 Quartz,但 Quartz 不支持 "Day of Month" 和 "Day of Week" 都是“*”。
例如:
0 * * * * * (which means run every minutes) is not supported in Quartz
因为一定是
0 * * * * ? or 0 * * ? * *.
谁能告诉我原因以及如何将给定的 DateTime 匹配到 Unix cron 格式?
谢谢
为什么 cron 语法不同不是我可以回答的问题,但如果您要寻找的只是一种从 unix 语法转换为 quartz 语法的方法,https://github.com/jmrozanec/cron-utils 过去曾帮助过我。
据我所知,将给定的日期时间与 cron 语法匹配并不是一项简单的任务,因为 cron 意味着一定的重复频率,而 date/time 是一个时刻。
如果您尝试安排一个作业执行一次,我建议您使用一个简单的触发器。
如果您真的想要一个按计划执行的 cron 作业,上面的 cron-utils 库与 cron 触发器相结合应该可以解决问题。
可以在此处找到两个触发器(以及更多)的实现: http://www.quartz-scheduler.org/api/2.2.1/index.html