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

Algoritmi del punto di controllo

LREE (long-running execution environment) utilizza gli algoritmi dei punti di controllo per determinare quando eseguire il commit delle transazioni globali dalle quali vengono richiamate le operazioni batch. Tali algoritmi vengono applicati a un processo batch mediante la definizione xJCL. Le proprietà specificate per gli algoritmi dei punti di controllo in xJCL consentono la personalizzazione del funzionamento del punto di controllo, come i timeout della transazioni e gli intervalli dei punti di controllo, per le operazioni batch. WebSphere Extended Deployment fornisce sia un algoritmo del punto di controllo basato sugli orari che uno basato sui record e definisce una SPI (service provider interface) per la creazione di algoritmi personalizzati aggiuntivi.

Per ogni iterazione dell'operazione batch del metodo processJobStep, LREE verifica chel'algoritmo del punto di controllo applicato all'operazione sia in grado di eseguire il commit della transazione globale. I metodi di richiamata sugli algoritmi dei punti di controllo consentono a LREE di informare l'algoritmo quando viene eseguito il commit o quando viene avviata una transazione globale. Ciò consente all'algoritmo di tenere traccia del ciclo della transazione globale. Per ogni iterazione del metodo processJobStep, LREE richiama il metodo di richiamata ShouldCheckpointBeExecuted sull'algoritmo per determinare se deve essere eseguito il commit della transazione e se è mediante questo metodo che l'algoritmo controlla l'intervallo del punto di controllo.

Fare riferimento all'API batch per la SPI dell'algoritmo del punto di controllo ubicata nella sezione Riferimenti all'Infocenter per la SPI che può essere utilizzata per creare gli algoritmi dei punti di controllo personalizzati. Il nome della classe è com.ibm.wsspi.batch.CheckpointPolicyAlgorithm.

Con questo prodotto sono rilasciati due algoritmi dei punti di controllo, uno basato sugli orari e uno basato sui record. Entrambi questi algoritmi vengono descritti nelle sezioni seguenti.

Algoritmo basato sull'orario

L'algoritmo del punto di controllo basato sull'orario esegue il commit delle transazioni globali a intervalli di tempo specificati. Di seguito è riportato un esempio di come dichiarare un algoritmo basato sugli orari in 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>

Le unità dell'intervallo e delle proprietà TransactionTimeOut nell'esempio precedente sono espresse in secondi.

Algoritmo basato sui record

L'algoritmo del punto di controllo basato sui record esegue il commit delle transazioni globali a un numero specificato di iterazioni del metodo processJobStep dell'operazione batch. Ogni chiamata al metodo processJobStep viene trattata come iterazione su un record. Il metodo processJobStep può richiamare più record da un flusso di dati batch per ogni chiamata ma per questo algoritmo un record è equivalente a una chiamata a processJobStep.

Di seguito è riportato un esempio di come dichiarare un algoritmo basato sui record in 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>

L'unità della proprietà TransactionTimeOut nell'esempio precedente è espressa in secondi.

Se non viene specificato in xJCL, il valore di timeout della transazione predefinito è 60 secondi e il numero di record predefinito è 10000.

Applicazione di un algoritmo dei punti di controllo a un'operazione batch

Gli algoritmi dei punti di controllo vengono applicati a un processo batch mediante xJCL. È possibile dichiarare più algoritmi in xJCL ed è possibile applicare un algoritmo differente a ogni operazione batch. Non è possibile applicare più più di un algoritmo a un'operazione batch.

Di seguito è riportato un esempio di come applicare un algoritmo dei punti di controllo in 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
Modello di programmazione batch

Argomento Concetti    

Termini di utilizzo | Commenti Ultimo aggiornamento: Mar 20, 2006 1:07:14 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. Tutti i diritti riservati.
Questo centro informazioni utilizza la tecnologia Eclipse. (http://www.eclipse.org)