是否可以在JodaTime中創建日期,然後使用JodaTime對象使Quartz安排作業?我們可以給石英API一段時間jodaPeriod以便在一天中的特定時間段內運行任務嗎?Quartz API和Joda Time API之間的任何關係?
這兩個API是否以任何方式相關和/或兼容?
是否可以在JodaTime中創建日期,然後使用JodaTime對象使Quartz安排作業?我們可以給石英API一段時間jodaPeriod以便在一天中的特定時間段內運行任務嗎?Quartz API和Joda Time API之間的任何關係?
這兩個API是否以任何方式相關和/或兼容?
AxonFramework有一個QuartzEventScheduler,它看起來像它做你想做的。
這是downlaod page,它在Apache 2.0許可下。
CQRS(Axon是一個CQRS框架)是命令查詢責任隔離 - http://martinfowler.com/bliki/CQRS.html – 2013-03-23 07:52:23
Edd-你能給我更多的例子嗎?看起來這個框架只使用Quartz和joda的一小部分。似乎沒有支持在某個Joda期間或持續時間之後重複執行任務。我正在尋求兩者之間的更多整合。 – 2013-03-23 08:03:30
Quartz提供了一個非常全面的API,您可以隨意擴展。
您需要創建的鉤子將與Trigger接口相反,我之前創建了一個但未使用Joda時間。
從你的問題的聲音,如果你想創建一個在一天中的特定時期運行的工作,你也可以嘗試使用CronTrigger
。例如運行上午9點和11點之間的每一分鐘,你可以做
* 9-10 * * *
顯然喬達使得它更容易配置,但您的系統管理員更加尊重你的cron的...
我已經開始使用喬達時間在我公司的應用程序的新部分中,我發現通過將Joda Time對象轉換回舊部件仍然期待的java.util.Date,可以更輕鬆地鏈接到舊部件(包括Quartz調度)。我希望這有幫助。
是的,但這是手動。但是,我想避免日期,因爲它大部分已被棄用,並可能喬達將取代當前的時間系統。 – 2013-03-23 07:48:32
JSR-310(threeten)https://github.com/ThreeTen/threeten將在Java 8中增加日期而不是Joda。它們有相似之處,但在Joda上也有很多改進。例如, – Jim 2013-05-16 07:14:35
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()...你的漂移
+1。我希望Quart會增加一些內置的joda支持。否則,我將不得不手動進行所有轉換和字段提取。 – 2013-03-23 07:46:32
您是否想要按Joda時間段指定的時間間隔重複安排工作? – darrenmc 2013-03-19 12:03:21
@darrenmc - 不只是那個用例。我希望能夠做石英可以做的所有事情,但最好使用喬達。 – 2013-03-23 08:00:18