2017-04-10 50 views
10

我需要有一個從上午10點到下午5點45分每5分鐘運行的計劃,我該如何使用@Schedule註釋執行此操作?Java EE6計劃範圍

到目前爲止,我僅限於@Schedule(小時= 10-18;分鐘= */5),但他們堅持我應該持續到下午5:45而不是下午6點。

+0

創建兩個時間表?一個用於'17:45 - > 17:55',另一個用於休息 –

回答

6

正如documentation for @Schedule and @Schedules明確指出,需要有兩個註解@Schedule如果您運行兩個時間表 - 即使你不喜歡這個事實。

由於僅在單個元素(小時,分鐘,秒......)內具有範圍的cron-like限制,因此在*:50和*處提供跳過最後兩次執行的附加信息根本不是可行的, :55只在下午5點。

這就是說,你可能最終的東西像

@Schedules({ 
    @Schedule(hour="10-16" minute="*/5"), 
    @Schedule(hour="17" minute="0,5,10,15,20,25,30,35,40,45") 
}) 

當你結束了日程信息到你源代碼這種方式(即使是在一個註釋的形式),你可以很如果在下午5:49之後調用,則每五分鐘運行一次並立即返回該方法