WebSphere Extended Deployment, Version 6.0.x     Sistemas Operacionais: AIX,, HP-UX, Linux, Solaris , Windows , z/OS

Algoritmos de Ponto de Verificação

O LREE (Long-running Execution Environment) utiliza os algoritmos de ponto de verificação para determinar quando consolidar as transações globais sob as quais as etapas de batch são chamadas. Esses algoritmos são aplicados a uma tarefa do batch através da definição xJCL. As propriedades especificadas para os algoritmos de ponto de verificação no xJCL permitem que o comportamento do ponto de verificação, como tempos limites da transação e intervalos do ponto de verificação, seja customizado para etapas de batch. O WebSphere Extended Deployment fornece um algoritmo de ponto de verificação baseado em tempo e um algoritmo baseado em registro e define a SPI (Interface do Provedor de Serviço) para construir algoritmos de ponto de verificação customizados adicionais.

Em cada iteração de etapa de batch do método processJobStep, o LREE consulta o algoritmo de ponto de verificação aplicado a essa etapa, se tiver que confirmar a transação global ou não. Os métodos de retorno de chamada nos algoritmos de ponto de verificação permitem que o LREE informe ao algoritmo quando uma transação global é confirmada ou iniciada. Isso permite que o algoritmo acompanhe o ciclo de vida da transação global. Em cada iteração do método processJobStep, o LREE chama o método de retorno de chamada ShouldCheckpointBeExecuted no algoritmo para determinar se a transação deve ser confirmada e através desse método o algoritmo controla o intervalo do ponto de verificação.

Consulte a API de batch para o SPI do algoritmo de ponto de verificação, localizado na seção Referência Infocenter, para o SPI do algoritmo de ponto de verificação que pode ser utilizado para criar algoritmos de ponto de verificação customizados. O nome da classe é com.ibm.wsspi.batch.CheckpointPolicyAlgorithm.

Dois algoritmos de ponto de verificação são fornecidos com esse produto; o algoritmo baseado em tempo e o algoritmo baseado em registro. Ambos são explicados nas seções a seguir.

Algoritmo Baseado em Tempo

O algoritmo de ponto de verificação baseado em tempo confirma as transações globais em um intervalo de tempo específico. A seguir encontra-se um exemplo de como declarar um algoritmo baseado em tempo no xJCL:
<checkpoint-algorithm name="timebased">
     <classname>com.ibm.wsspi.batch.checkpointalgorithms.timebased</classname>
     <props>
           <prop name="interval" value="15" />
           <prop name="TransactionTimeOut" value="30" />
     </props>
</checkpoint-algorithm>

As unidades de intervalo e propriedades TransactionTimeOut no exemplo anterior são expressas em segundos.

Algoritmo Baseado em Registro

O algoritmo de ponto de verificação baseado em registro confirma as transações globais em um número especificado de iterações do método processJobStep da etapa de batch. Cada chamada ao método processJobStep é tratada como iterada através de um registro. Observe que o processJobStep pode recuperar vários registros de um fluxo de dados de batch em cada chamada mas, para esse algoritmo de ponto de verificação ,um registro é equivalente a uma chamada para processJobStep.

A seguir está um exemplo de como declarar um algoritmo baseado em registro em xJCL:
<checkpoint-algorithm name="recordbased">
     <classname>com.ibm.wsspi.batch.checkpointalgorithms.recordbased</classname>
     <props>
           <prop name="recordcount" value="1000" />
           <prop name="TransactionTimeOut" value="60" />
     </props>
</checkpoint-algorithm>

A unidade da propriedade TransactionTimeOut no exemplo anterior é expressa em segundos.

Se não for especificado em xJCL, o tempo limite de transação padrão será de 60 segundos e a contagem de registro padrão será 10000.

Aplicar um Algoritmo de Ponto de Verificação em uma Etapa de Batch

Os algoritmos de ponto de verificação são aplicados a uma tarefa do batch através do xJCL. Vários algoritmos de ponto de verificação podem ser declarados no xJCL e um diferente pode ser aplicado a cada etapa de batch. Não pode ser aplicado mais de um algoritmo de ponto de verificação a uma etapa de batch.

A seguir encontra-se um exemplo de como aplicar os algoritmos de ponto de verificação no xJCL:

<job name="PostingsSampleEar">

<checkpoint-algorithm name="timebased">
     <classname>com.ibm.wsspi.batch.checkpointalgorithms.timebased</classname>
     <props>
           <prop name="interval" value="15" />
           <prop name=" TransactionTimeOut" value="30" />
     </props>
</checkpoint-algorithm>

<checkpoint-algorithm name="recordbased">
     <classname>com.ibm.wsspi.batch.checkpointalgorithms.recordbased</classname>
     <props>
           <prop name="recordcount" value="1000" />
           <prop name="TransactionTimeOut" value="60" />
     </props>
</checkpoint-algorithm>

<job-step name="Step1">
     <checkpoint-algorithm-ref name="timebased" />
</job-step>

<job-step name="Step2">
     <checkpoint-algorithm-ref name="recordbased" />
</job-step>
</job>



Related concepts
O Modelo de Programação em Batch

Tópico de Conceito    

Termos de Uso | Feedback Última atualização: Mar 21, 2006 12:48:50 PM EST
http://publib.boulder.ibm.com/infocenter/wxdinfo/v6r0/index.jsp?topic=?topic=/com.ibm.websphere.xd.doc/info/scheduler/cxdbatchalg.html

© Copyright IBM 2005, 2006. Todos os Direitos Reservados.
Este centro de informações é desenvolvido em tecnologia Eclipse. (http://www.eclipse.org)