是否可以在 JodaTime 中创建一个日期,然后使用 JodaTime 对象让 Quartz 安排工作?我们可以给 Quartz API 一个 Period jodaPeriod 以便在一天的特定时间段内运行任务吗?
这两个 API 是否以任何方式相关和/或兼容?
是否可以在 JodaTime 中创建一个日期,然后使用 JodaTime 对象让 Quartz 安排工作?我们可以给 Quartz API 一个 Period jodaPeriod 以便在一天的特定时间段内运行任务吗?
这两个 API 是否以任何方式相关和/或兼容?
AxonFramework 有一个QuartzEventScheduler,它看起来就像你想要的那样。
这是下载页面,它在 Apache 2.0 许可下。
Quartz 提供了一个非常全面的 API,您可以随意扩展它。
您需要创建的钩子将针对Trigger接口,我之前已经创建了一个,但没有使用 Joda 时间。
从您的问题的声音来看,如果您想创建一个在一天中的特定时间段运行的作业,您也可以尝试使用CronTrigger
. 例如,在上午 9 点到 11 点之间每分钟运行一次,您可以这样做
* 9-10 * * *
显然,Joda 使配置变得更容易,但您的系统管理员更尊重您的 cron...
我已经开始在我公司应用程序的较新部分中使用 Joda Time,我发现通过将 Joda Time 对象转换回 java.util.Date 旧部分更容易链接到旧部分(包括 Quartz 调度)还在期待。我希望这有帮助。
TriggerBuilder有一个如何手动安排作业的片段:
JobDetail job = newJob(MyJob.class)
.withIdentity("myJob")
.build();
Trigger trigger = newTrigger()
.withIdentity(triggerKey("myTrigger", "myTriggerGroup"))
.withSchedule(simpleSchedule()
.withIntervalInHours(1)
.repeatForever())
.startAt(futureDate(10, MINUTES))
.build();
scheduler.scheduleJob(job, trigger);
你将不得不为 startAt() 和 withIntervalInHours() 做一些转换工作......你得到了漂移