Configurando o Serviço de Cronômetro Usando a Programação de Script
Use o script wsadmin para configurar o serviço de cronômetro Enterprise JavaBeans (EJB).
Antes de Iniciar
Sobre Esta Tarefa
O objeto de configuração EJBTimer existe no nível do servidor. Isso significa que cada servidor em um ambiente multisservidor possui seu próprio objeto de configuração EJBTimer e deve ser configurado individualmente.
Procedimento
- Ative a ferramenta de script usando o Jython ou linguagem de script.
- Determine os atributos no objeto de configuração EJBTimer que
precisam ser atualizados. É possível atualizar os seguintes
atributos no objeto de configuração EJBTimer:
- datasourceJNDIName
- datasourceAlias
- tablePrefix
- pollInterval
- numAlarmThreads
- schedulerJNDIName
- numNPTimerThreads
- nonPersistentTimerRetryCount
- nonPersistentTimerRetryInterval
- uniqueTimerManagerForNP
Para obter uma descrição completa de cada atributo, consulte as informações sobre configuração de Serviço de Cronômetro EJB.
Existem quatro tipos de cronômetros EJB:- Cronômetros persistentes, suportados por uma instância de planejador interno padrão
- Cronômetros persistentes, suportados por uma instância de planejador customizado.
- Cronômetros não persistentes, compartilhando um conjunto de encadeamentos com cronômetros persistentes.
- Cronômetros não persistentes, que não compartilham um conjunto de encadeamentos com cronômetros persistentes.
O objeto de configuração EJBTimer contém os dados de configuração para os quatro tipos de cronômetros EJB. Cada um dos quatro tipos de cronômetros utiliza um subconjunto dos atributos de configuração no objeto de configuração EJBTimer. Todos os atributos no objeto de configuração EJBTimer são usados para configurar pelo menos um dos tipos do cronômetro, e nenhum dos atributos é usado para configurar todos os tipos de cronômetro. Dessa forma, você deve entender qual tipo de cronômetro está configurado para usar e quais atributos de configuração se aplicam a esse tipo de cronômetro.
Tabela 1. Tipos de cronômetro e atributos de configuração. Indica os atributos de EJBTimer usados para configurar cada tipo de cronômetro. Atributo Persistente, planejador padrão Persistente, planejador customizado Não persistente, conjunto de encadeamentos compartilhado Não persistente, conjunto de encadeamentos exclusivo datasourceJNDIName Sim Não, em vez disso é especificado na configuração de customizado customizado Não Não datasourceAlias Sim Não, em vez disso é especificado na configuração de customizado customizado Não Não tablePrefix Sim Não, em vez disso é especificado na configuração de customizado customizado Não Não pollInterval Sim Não, em vez disso é especificado na configuração de customizado customizado Não Não numAlarmThreads Sim Não Sim Não schedulerJNDIName Não Sim Não Não numNPTimerThreads Não Não Não Sim nonPersistentTimerRetryCount Não Não Sim Sim nonPersistentTimerRetryInterval Não Não Sim Sim uniqueTimerManagerForNP Não Não Sim Sim A presença de um valor para o atributo schedulerJNDIName determina qual tipo de cronômetro persistente é usado. Se o atributo schedulerJNDIName tiver um valor, então uma instância de planejador customizado é usada. Se o schedulerJNDIName não tiver um valor, então a instância de planejador interno padrão é usada.
O atributo numAlarmThreads mapeia para a opção de Número de encadeamentos do cronômetro na seção de configuração do Cronômetro EJB persistente do console administrativo. O atributo numNPTimerThreads mapeia para a opção Número de encadeamento de cronômetro na seção de configuração do cronômetro de EJB Não Persistente, no console administrativo.
O atributo uniqueTimerManagerForNP mapeia para as opções Compartilhar conjunto de encadeamentos configurado para cronômetros persistentes e Criar um conjunto de encadeamentos separado para cronômetros não persistentes no console administrativo.
O atributo uniqueTimerManagerForNP determina se o conjunto de encadeamentos é compartilhado entre cronômetros persistentes e não persistentes. Também determina se o atributo de configuração numAlarmThreads ou numNPTimerThreads é usado.
Tabela 2. Os Impactos do Atributo uniqueTimerManagerForNP. O atributo uniqueTimerManagerForNP afeta a configuração de compartilhamento e de encadeamento do conjunto de encadeamentos. Atributo uniqueTimerManagerForNP Os cronômetros persistentes e não persistentes compartilham um conjunto de encadeamentos O atributo de configuração de encadeamento que é usado O atributo de configuração de encadeamento que é ignorado verdadeiro Não numNPTimerThreads numAlarmThreads falso Sim numAlarmThreads numNPTimerThreads - Obtenha uma referência para o objeto de configuração EJBTimer correto e armazene-a em uma variável.
Utilizando Jacl:
set timer [$AdminConfig list EJBTimer]
Utilizando Jython:timer = AdminConfig.list('EJBTimer')
Se você tiver um ambiente de multisservidor, os diversos objetos de configuração EJBTimer serão retornados. Faça um loop na lista programaticamente e selecione o objeto de configuração EJBTimer que corresponde ao servidor que deve ser atualizado.
Em um ambiente de multisservidor, como uma alternativa para fazer programaticamente um loop na lista de objetos EJBTimer, é possível selecionar manualmente o objeto EJBTimer correto, copiá-lo e colá-lo na sua variável.
Por exemplo, se a saída de seu comando AdminConfig list for:
(cells/myCell01/nodes/myCellManager01/servers/dmgr|server.xml#EJBTimer_1)(cells/myCell01/nodes/myNode02/servers/server1|server.xml#EJBTimer_1246050925244)
Copie e cole a referência para o objeto EJBTimer necessário em sua variável.
Utilizando Jacl:set timer "(cells/myCell01/nodes/myNode02/servers/server1|server.xml#EJBTimer_1246050925244)"
Utilizando Jython:timer = "(cells/myCell01/nodes/myNode02/servers/server1|server.xml#EJBTimer_1246050925244)"
- Atualize os atributos no objeto de configuração EJBTimer.
Atualize os atributos no objeto de configuração EJBTimer usando o comando AdminConfig modify. O primeiro argumento para o comando é a referência de EJBTimer que você obteve na etapa anterior. O segundo argumento para o comando é uma lista de pares nome-valor.
Para configurar uma contagem de tentativas se 10 tentativas, e um intervalo entre elas de 15 segundos entre cada tentativa:
Utilizando Jacl:set update "{nonPersistentTimerRetryCount 10} {nonPersistentTimerRetryInterval 15}" $AdminConfig modify $timer $update
Utilizando Jython:AdminConfig.modify(timer, '[[nonPersistentTimerRetryCount "10"] [nonPersistentTimerRetryInterval "15"]]')
- Salve as mudanças na configuração.
Utilizando Jython:
AdminConfig.save()
Utilizando Jacl:$AdminConfig save
- Apenas em um ambiente de implementação de rede, sincronize o nó.
Utilizando Jacl:
set sync1 [$AdminControl completeObjectName type=NodeSync,node=<your node>,*] $AdminControl invoke $sync1 sync
A sincronização de nós nesses exemplos deve ser executada enquanto conectado no servidor.sync1 = AdminControl.completeObjectName('type=NodeSync,node=<your node>,*') AdminControl.invoke(sync1, 'sync')
Resultados
Subtópicos
- Configurando um Serviço de Cronômetro para Implementação de Rede
Você pode configurar o serviço de cronômetro Enterprise JavaBeans (EJB) para cronômetros que podem persistir a encerramentos e reinicializações do servidor de aplicativos. - Exemplo: Utilizando o Serviço de Cronômetro com a Interface TimeObject
Este exemplo mostra a implementação do método ejbTimeout() que é chamado quando o evento planejado ocorre. - Configurações do Serviço de Cronômetro do EJB
Use esta página para configurar e gerenciar o Serviço de Cronômetro do Enterprise JavaBeans (EJB) para um contêiner EJB específico. - Configurando um Serviço de Cronômetro
É possível configurar e gerenciar o serviço de cronômetro do EJB para um contêiner EJB específico.


http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=txml_ejbTimer_config
Nome do arquivo: txml_ejbTimer_config.html