2016-05-16 41 views
1

石英調度程序是否包含日曆?我看到有排除日曆,但我沒有看到有關包含日曆的任何內容。我希望能夠從日曆中選擇日期並在當天運行作業。日期不一定是模式。我怎樣才能在Quartz中做到這一點?石英調度程序是否包含日曆

回答

0

石英日曆只定義內含物。這裏是接口:

public interface Calendar { 

    public boolean isTimeIncluded(long timeStamp); 

    public long getNextIncludedTime(long timeStamp); 

} 

一些實現用於定義排除,但其他支持內含。看看DailyCalendar及其invertTimeRange屬性。

既然你提到你只想在日曆中包含特定的日子,我懷疑你可能不得不實現你自己的日曆。退房BaseCalendar這應該是一個很好的起點。

如果你懶,你也許能繼承HolidayCalendar和簡單地改變isTimeIncluded

@Override 
public boolean isTimeIncluded(long timeStamp) { 
    if (super.isTimeIncluded(timeStamp) == false) { 
     return false; 
    } 

    Date lookFor = getStartOfDayJavaCalendar(timeStamp).getTime(); 

    return dates.contains(lookFor); // <-- HERE we remove the bang (!) 
} 

定義您的日曆應該是相當簡單的。請記住,它需要是Serializable

查看Quartz Tutorial瞭解更多信息。

+0

完美的工作。謝謝你的幫助。 – user3375401

+0

如果這回答了您的問題,請接受此答案。 http://stackoverflow.com/help/someone-answers @ user3375401 – GuiSim