public final class CronDefinition
extends java.lang.Object
Definition eines Cron-Eintrages.
Ein Cron-Eintrag besteht aus 5 Werten:
Soll ein Wert ignoriert werden, sind Sternchen möglich.
Listen und Bereiche können ebenfalls angegeben werden mit “,” und “-”. Mit / kann der Befehl alle x Intervalle ausgeführt werden.
Wochen und Monatsnamen sind in deutscher Sprache anzugeben und werden tolerant behandelt. Gültig für Sonntag ist beispielsweise “so”, “son”, “Sonntag”, usw., Groß- und Kleinschreibung ist unerheblich.
Beispiele:
Min Std Tag Mon WT
5 0 * * * Jeden Tag um 00:05:00
15 14,20 1 * * Am 1. jeden Monats um 14:15:00 und um 20:15:00
0 22 * * 1-5 An jedem Werktag (Mo-Fr) um 22:00:00
23 * / 2 * * * Alle 2 Stunden um jeweils xx:23:00, also 00:23:00, 02:23:00, ...
5 4 * * son Jeden Sonntag um 04:05:00
0 1 1 12 1 Jeden 1. Dezember UND jeden Montag im Dezember jeweils um 01:00:00
Für weitere Erklärungen und Beispiele siehe Dokumentation der /etc/crontab oder https://de.wikipedia.org/wiki/Cron
Modifier and Type | Class and Description |
---|---|
private static class |
CronDefinition.DoMParser |
private static class |
CronDefinition.DoWParser |
private static class |
CronDefinition.IntParser |
private static class |
CronDefinition.MonthParser |
Modifier and Type | Field and Description |
---|---|
private java.util.BitSet |
_dayOfWeek |
private java.util.BitSet |
_days |
private java.util.BitSet |
_hours |
private java.util.BitSet |
_minutes |
private java.util.BitSet |
_months |
private java.lang.String[] |
_segments |
private java.lang.ThreadLocal<java.util.Calendar> |
calendar |
static CronDefinition |
EVERY_DAY |
static CronDefinition |
EVERY_HOUR |
static CronDefinition |
EVERY_MINUTE |
static CronDefinition |
EVERY_MONTH |
static CronDefinition |
EVERY_WEEK |
static CronDefinition |
EVERY_YEAR |
Constructor and Description |
---|
CronDefinition(java.lang.String definition)
Erstellt eine neue Cron-Definition zum periodischen Ausführen von Aufgaben.
|
Modifier and Type | Method and Description |
---|---|
boolean |
equals(java.lang.Object o) |
java.util.List<java.lang.String> |
getSegments()
Gibt eine Liste mit 5 Strings zurück, die die Einträge für Minuten, Stunden, Monatstag, Monat und Tag der Woche in dieser Reihenfolge repräsentiert.
|
int |
hashCode() |
long |
nextScheduledTime(long startTimeMillis)
Gibt den nächsten geplanten Zeitpunkt zurück
|
java.lang.String |
toString() |
private final java.util.BitSet _minutes
private final java.util.BitSet _hours
private final java.util.BitSet _days
private final java.util.BitSet _months
private final java.util.BitSet _dayOfWeek
private final java.lang.ThreadLocal<java.util.Calendar> calendar
private final java.lang.String[] _segments
public static final CronDefinition EVERY_MINUTE
public static final CronDefinition EVERY_HOUR
public static final CronDefinition EVERY_DAY
public static final CronDefinition EVERY_WEEK
public static final CronDefinition EVERY_MONTH
public static final CronDefinition EVERY_YEAR
public CronDefinition(java.lang.String definition) throws java.lang.IllegalArgumentException
Erstellt eine neue Cron-Definition zum periodischen Ausführen von Aufgaben. Diese Klasse dient nur zum Festlegen der Zeitpunkte. Zum Planen von Aufgaben bitte CronScheduler.schedule(Runnable, CronDefinition)
verwenden.
definition
- Definition, siehe Dokumentation von CronDefinition
. Beispiel: "* * * * *" führt eine Aufgabe jede Minute aus.java.lang.IllegalArgumentException
- Wenn der übergebene String nicht verarbeitet werden kann.public long nextScheduledTime(long startTimeMillis)
Gibt den nächsten geplanten Zeitpunkt zurück
startTimeMillis
- Startzeitpublic java.util.List<java.lang.String> getSegments()
Gibt eine Liste mit 5 Strings zurück, die die Einträge für Minuten, Stunden, Monatstag, Monat und Tag der Woche in dieser Reihenfolge repräsentiert. Dies entspricht dem im Kontruktor übergebenen String, wobei überflüssige Leerzeichen entfernt wurden und der String entsprechend der Cron-Spezifikation in seine 5 Abschnitte geteilt wurde.
public java.lang.String toString()
toString
in class java.lang.Object
public boolean equals(java.lang.Object o)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object