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

Você deve possuir um conhecimento de trabalho do Jacl ou Jython e do script wsadmin.

Sobre Esta Tarefa

O comportamento dos cronômetros de EJB é configurado usando o objeto de configuração EJBTimer no arquivoserver.xml. Se tiver os cronômetros EJB, você deve atualizar o objeto de configuração EJBTimer para obter as configurações ideais para seu ambiente.

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

  1. Ative a ferramenta de script usando o Jython ou linguagem de script.
  2. 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 servidor sempre está configurado para usar um dos dois tipos de cronômetros persistentes, e um dos dois tipos de cronômetros não 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
  3. 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)"
  4. 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"]]') 
  5. Salve as mudanças na configuração.
    Utilizando Jython:
    AdminConfig.save()
    Utilizando Jacl:
    $AdminConfig save
  6. 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
    Utilizando Jython:
    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.

Resultados

Como resultado das suas atualizações, o objeto de configuração EJBTimer agora reflete os valores de atributo que você especificou. Reinicie o servidor para que as alterações sejam atualizadas no servidor.

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



Í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=txml_ejbTimer_config
Nome do arquivo: txml_ejbTimer_config.html