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.

Se o método setUserCalendar() não for chamado ou se um valor de nulo ou de cadeia vazia for especificado para o parâmetro de nome JNDI inicial, o UserCalendar padrão será utilizado internamente pelo planejador. Quando o UserCalendar padrão é acessado internamente, não você deve que o aplicativo de sistema SchedulerCalendars.ear seja instalado. Se desejar usar o UserCalendar padrão com uma entrada CRON, você deve comutar para a entrada CRON manualmente. A amostra de código a seguir mostra esta comutação:
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.


Ícone que indica o tipo de tópico Tópico de Conceito



Ícone de registro de data e hora Última atualização: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=csch_schedulercalendar
Nome do arquivo: csch_schedulercalendar.html