2015-05-20 47 views

Odpowiedz

3

asterix oznacza wszystkie możliwe wartości. znaki zapytania powinny być używane dla wartości nieokreślonej:

* ("wszystkie wartości") - służy do wybierania wszystkich wartości w obrębie pola. Na przykład "" w polu minut oznacza * "co minutę".

? ("brak konkretnej wartości") - przydatne, gdy musisz podać coś w jednym z dwóch pól, w których dozwolona jest postać, ale nie można podać innej wartości, niż . Na przykład, jeśli chcę, aby mój wyzwalacz uruchamiał się w konkretnym dniu miesiąca (powiedzmy 10), ale nie obchodzi go, jaki dzień tygodnia jest , wstawiłbym "10" w ciągu dnia -of-miesiąc i "?" w polu na dzień tygodnia. Zobacz przykłady poniżej w celu wyjaśnienia.

skopiowane z tutorial

+0

Niestety, ale nie :(.?? To ** dokładnie ** to samo niż '*' https://stackoverflow.com/questions/30341067/difference-between-and-in-spring-scheduledcron/30789834 # 30789834 – Luchostein

+0

Ponieważ tak jest zaimplementowane :(. Smutne, ale prawdziwe: https://stackoverflow.com/questions/30341067/difference-between-and-in-spring-scheduledcron/30341102 – Luchostein

+0

@Luchostein to jest to samo Ale w przypadku dokumentacji jest inna – Jens

19

Tutorial jest przestarzała. Symbol ? oznacza dokładnie to samo, co . Jak Spring 3.1.2.RELEASE, hierarchia jest wezwanie:

Konstruktor CronTrigger(String) wywołuje konstruktor CronSequenceGenerator(String) który nazywa parse(String) który nazywa setDays(BitSet bits, String field, int max). Jego realizacja jest jasne:

private void setDays(BitSet bits, String field, int max) { 
    if (field.contains("?")) { 
     field = "*"; 
    } 
    setNumberHits(bits, field, 0, max); 
} 

Tak więc, jeśli ?, następnie *.

+0

Jesteś pewien? "?" jest nadal wymienione w dokumentacji http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/scheduling/support/CronSequenceGenerator.html – user1766169

+0

To jest dokładnie problem. Dokumentacja tak mówi, ale kod nie. – Luchostein

+1

To naprawdę nie jest błąd, implementacja postępowania z * i? są takie same, ale pod względem intencji konfiguracji są nieco inne. –