什么是相应的Cron表达式,每X秒触发一次,其中X> 60?

gio*_*kva 3 java cron quartz-scheduler

我希望我的作业每X秒执行一次,作业和X之间有一对一的匹配.同样在运行时,可以用自己的间隔注册新的作业.

我曾尝试为这种情况编写cron表达式,但在文档中写道,秒的值不能超过59.所以cron表达式如下:"0/63****?" 无效.

乍一看,这个问题的解决方案似乎是这样的表达:"0/3 0/1***?",但它意味着完全不同的事情:每分钟每三秒触发一次工作.

你能建议什么是正确的解决方案(cron表达式)吗?我知道我可以使用简单的计时器,但我要使用Quartz来使用cron作业.

ska*_*man 6

Quartz cron语法旨在根据标准的24小时60分钟时钟表达时序.它不适合"每n秒",其中n可以是任何值.你无法用cron表达式做到这一点.

如果你需要使用Quartz,你应该使用SimpleTrigger,而不是CronTrigger.你真的没有选择,除非你想使用一个非常复杂的重叠,人工推导的cron表达式集合.