The tutorial is outdated. The symbol ? means exactly the same as the symbol *.
As of Spring version 3.1.2.RELEASE, the call hierarchy is the following:
- The constructor
CronTrigger(String)calls the constructorCronSequenceGenerator(String) CronSequenceGenerator(String)callsparse(String)parse(String)callssetDays(BitSet bits, String field, int max).
Its implementation is clear:
private void setDays(BitSet bits, String field, int max) {
if (field.contains("?")) {
field = "*";
}
setNumberHits(bits, field, 0, max);
}
So, if ?, then *.