9

是否可以在 JodaTime 中创建一个日期,然后使用 JodaTime 对象让 Quartz 安排工作?我们可以给 Quartz API 一个 Period jodaPeriod 以便在一天的特定时间段内运行任务吗?

这两个 API 是否以任何方式相关和/或兼容?

4

4 回答 4

2

AxonFramework 有一个QuartzEventScheduler,它看起来就像你想要的那样。

这是下载页面,它在 Apache 2.0 许可下。

于 2013-03-20T12:42:31.703 回答
2

Quartz 提供了一个非常全面的 API,您可以随意扩展它。
您需要创建的钩子将针对Trigger接口,我之前已经创建了一个,但没有使用 Joda 时间。

从您的问题的声音来看,如果您想创建一个在一天中的特定时间段运行的作业,您也可以尝试使用CronTrigger. 例如,在上午 9 点到 11 点之间每分钟运行一次,您可以这样做

* 9-10 * * *

显然,Joda 使配置变得更容易,但您的系统管理员更尊重您的 cron...

于 2013-03-20T16:29:06.600 回答
2

我已经开始在我公司应用程序的较新部分中使用 Joda Time,我发现通过将 Joda Time 对象转换回 java.util.Date 旧部分更容易链接到旧部分(包括 Quartz 调度)还在期待。我希望这有帮助。

于 2013-03-21T14:05:23.333 回答
2

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() 做一些转换工作......你得到了漂移

于 2013-03-22T15:26:13.807 回答