Sólo un ejemplo de configuración del DailyCalendar con Spring, con el parámetro "InvertTimeRange" seteado en TRUE. Este parámetro se usa porque el Calendar no acepta un rango que ocupe dos días, por ejemplo:
- Si yo pretendo que se excluyan el rango desde las 23 hasta las 7 y pongo directamente 23-7, entonces me va a arrojar el siguiente error:
org.springframework.beans.BeanInstantiationException: Could not
instantiate bean class [org.quartz.impl.
calendar.DailyCalendar]: Constructor threw exception; nested exception
is java.lang.IllegalArgumentException: Invalid time range: 23:0:0:0 -
7:0:0:0.
- La solución es setear el parámetro InvertTimeRange en TRUE, de esta manera, el rango especificado es el único NO EXCLUIDO. Con lo cual, bastaría poner 7-23 para que excluya todo el resto. Abajo un ejemplo de implementación:
<bean id ="calendarioRestringeNoche" class="org.quartz.impl.calendar.DailyCalendar">
<!-- Hora de inicio de rango -->
<constructor-arg index="0"><value>7</value></constructor-arg>
<!-- Hora de fin de rango -->
<constructor-arg index="1"><value>23</value></constructor-arg>
<property name="invertTimeRange" value="true"></property>
</bean>