Utilizando Planejadores
Os planejadores permitem que as tarefas do aplicativo Java™ Platform, Enterprise Edition (Java EE) sejam executadas em uma hora solicitada. Os planejadores também permitem que desenvolvedores de aplicativos criem seus próprios componentes EJB (Enterprise JavaBeans) da sessão sem preservação de estado para receber notificações de eventos durante o ciclo de vida da tarefa, permitindo a conexão de utilitários de criação de log customizada ou aplicativos de fluxo de trabalho.
Sobre Esta Tarefa
- Chamar um método de bean de sessão.
- Enviar uma mensagem JMS (Java Message Service) para uma fila ou tópico
Os componentes EJB de sessão sem preservação de estado são utilizados também para fornecer agendamento genérico. Os desenvolvedores podem usar o bean de agenda fornecido ou criar seus próprios, para suas agendas de negócios existentes. Por exemplo, um de seus processos de negócios pode envolver faturamento de serviços. Com o uso pelo planejador de componentes EJB sem preservação de estado, você pode planejar quando as distribuições de email periódicas deverão ser enviadas a clientes que receberam faturas. O serviço do planejador executa essas tarefas, repetindo quando for necessário, de acordo com os metadados dessa tarefa.
Um planejador é o mecanismo pelo qual o serviço de cronômetro para Enterprise Java Beans é executado para cronômetros persistentes. É possível configurar o serviço de cronômetro do EJB para usar muitos dos recursos que os planejadores fornecem. Consulte as informações sobre como configurar um serviço de cronômetro para obter detalhes adicionais. Os cronômetros não persistentes não usam o serviço do planejador, mas podem usar o gerenciador de trabalho para o planejador. Os cronômetros não persistentes usam um gerenciador de trabalho diretamente.
Planejadores | Cronômetros EJB |
---|---|
Executam os componentes EJB de sessão sem preservação de estado e enviam mensagens JMS | Executam todos os tipos de EJB, exceto para beans de sessão com preservação de estado |
Persistente, transacional e altamente disponível | Persistente, transacional e altamente disponível |
Tarefas garantidas para executar apenas uma vez | Cronômetros garantidos para executar apenas um vez, se o EJB do cronômetro usar uma transação global gerenciada por contêiner |
Executam tarefas de repetição utilizando quaisquer regras de cálculo | Executam tarefas de repetição utilizando um intervalo de repetição definido em milissegundos |
Utiliza um cálculo de tempo de retardo fixo modificado para determinar intervalos de repetição (próximo tempo de execução baseado no tempo de início da tarefa anterior) | Usa um cálculo de tempo de taxa fixa para determinar intervalos de repetição (horário da próxima tarefa é baseado no horário de planejamento original) |
Recurso programático de monitoramento de tarefa com o uso do componente EJB de sessão sem preservação de estado NotificationSink | Sem monitoração do cronômetro programático |
Parar execução de tarefas atrasadas ou sensíveis ao tempo | Para a execução de tarefas atrasadas ou sensíveis ao tempo (obtido por meio da detecção manual dentro a implementação de javax.ejb.TimedObject) |
Gerenciar qualquer ciclo de vida de tarefa (localizar, suspender, continuar, cancelar e limpar tarefas programaticamente e por meio do Java Management Extensions (JMX)) | Localize e cancele seus cronômetros de maneira programática. Os administradores localizam e cancelam os cronômetros utilizando um utilitário de linha de comandos. |
Armazenar uma quantidade limitada de texto com os dados, como um Nome (dados arbitrários armazenados externamente) | Armazenar dados arbitrários com um cronômetro |
Essa tarefa demonstra como gerenciar, desenvolver e interoperar com planejadores e tarefas subsequentes.