Calendários do Planejador
O planejador fornece interfaces de beans de sessão sem preservação de estado que permitem criar calendários comuns que podem ser utilizados pelo planejador e qualquer aplicativo Java™ Platform, Enterprise Edition (Java EE).
O aplicativo SchedulerCalendars.ear está disponível e fornece uma implementação de EJB (Enterprise Java Beans) UserCalendar padrão que permite utilizar os calendários SIMPLE e CRON. Embora esse aplicativo não seja necessário ao utilizar o planejador, ele está disponível para ser utilizado a partir de qualquer aplicativo Java EE.
Para obter detalhes sobre como os calendários SIMPLE e CRON se comportam, consulte a Documentação da API para a interface com.ibm.websphere.scheduler.UserCalendar.
Especificando um UserCalendar com o planejador
Um UserCalendar é especificado utilizando o método setUserCalendar() da interface TaskInfo do planejador. Esta interface permite selecionar o nome de JNDI (Java Naming and Directory Interface) da interface home de um bean UserCalendar. Como algumas implementações do bean do UserCalendar podem manipular vários tipos de calendários, a interface também permite selecionar, de forma opcional, qual tipo de calendário usar. Uma lista dos tipos de calendários válidos pode ser recuperada chamando o método getCalendarNames() da interface de UserCalendar.
BeanTaskInfo taskInfo = (BeanTaskInfo)scheduler.createTaskInfo(BeanTaskInfo.class);
String calendarVariant = "CRON";
taskInfo.setUserCalendar(null, calendarVariant);
// cron table entry
String cronTableEntry = "0 17,20,23 * ? * *";
taskInfo.setStartTimeInterval(cronTableEntry);
É possível desejar usar o UserCalendar padrão diretamente em outros aplicativos Java EE, além do planejador. Nesse caso, é possível usar o valor UserCalendarHome.DEFAULT_CALENDAR_JNDI_NAME para procurar o UserCalendar padrão dos aplicativos. Você também pode fornecer este valor para o método setUserCalendar() da interface TaskInfo. Você precisará assegurar que o aplicativo de sistema SchedulerCalendars.ear foi instalado automaticamente ou que você o instalou manualmente.