Questo argomento si applica solo alla configurazione IBM Business Automation Workflow Advanced.

Gestione dei blocchi sugli eventi in sequenza

Il gestore dei blocchi gestisce i blocchi della sequenza eventi. È possibile utilizzare il comando esAdmin per elencare, eliminare o sbloccare qualsiasi blocco nel gestore blocchi.

Il gestore blocchi supporta due operazioni sui blocchi eventi:
  • Lock: l'operazione di lock tenta di acquisire un lock e memorizza la richiesta di lock in un database. Una volta concesso un blocco, l'elaborazione riprende per il richiamo che ha richiesto il blocco.
  • Sblocco: l'operazione di sblocco rilascia il blocco corrente e lo concede alla successiva richiesta di blocco.
Le richieste per lo stesso blocco vengono inserite in coda nell'ordine in cui vengono ricevute. I blocchi vengono mantenuti sul database e sull'origine dati predefiniti IBM® Business Automation Workflow per garantire che possano essere ripristinati in caso di errore del server.
Il comando esAdmin consente di gestire i blocchi attivi e accodati attualmente nel gestore blocchi. Le seguenti sezioni forniscono ulteriori dettagli sull'utilizzo di esAdmin.
Nota: nell'ambiente di distribuzione della rete, eseguire il comando esAdmin una volta per ogni ambiente di distribuzione. È possibile eseguirlo su qualsiasi server di destinazione dell'applicazione nell'ambiente di distribuzione, ma non eseguirlo sul gestore distribuzione.

Elenco dei blocchi

Il comando esAdmin può elencare tutti i blocchi attivi e accodati nel gestore blocchi o solo quelli associati a uno specifico modulo, componente o metodo.

Utilizzare uno dei metodi seguenti con esAdmin:
  • listAll: elenca tutti i lock attivi e in coda nel lock manager.
  • listLocks: Elenca un sottoinsieme dei blocchi attivi e in coda nel gestore dei blocchi. Specificare uno o più dei seguenti parametri per restituire un elenco filtrato di blocchi:
    • moduleName
    • componentName
    • methodName
    Ad esempio, il comando riportato di seguito restituisce un elenco di blocchi attivi e in coda per il componente CustComp che è parte del modulo CusMod .
    esAdmin listLocks CustMod CustComp
Il comando restituisce un output simile al seguente:
Tabella 1. Output di esempio dal comando esAdmin listLocks
ID Blocco ID sequenza ID proprietario Modulo Componente Metodo ID messaggio di sistema
7564504 2 695376 CustMod CustComp createCust A09- 427BE_5002
7564504 3 232757 CustMod CustComp createCust ADF - 053RT_5004
Nell'output nella Tabella 1, l'ID sequenza è l'ordine in cui le richieste di blocco vengono accodate; il numero più basso nella sequenza attualmente detiene il blocco. L'ID messaggio del sistema specifica l'ID per il corrispondente messaggio SIB (Service Integration Bus); è possibile utilizzare queste informazioni per correlare le richieste di blocco con i messaggi sulle destinazioni.

Rilascio dei blocchi

Utilizzare il comando esAdmin per rilasciare un blocco singolo, come segue:
esAdmin unlock lockId.

lockId è l'ID blocco univoco restituito dal comando esAdmin listLock o esAdmin listAll .

Questo comando è utile quando si verifica un deadlock; è possibile rilasciare il blocco in deadlock e concederlo alla successiva richiesta di blocco nella coda.

Eliminazione dei blocchi

Se è necessario eliminare uno o più blocchi, arrestare prima il modulo associato al blocco. Quindi, utilizzare il comando esAdmin per eliminare il blocco dal database.

Ad esempio:
esAdmin deleteLocks moduleName

È necessario riavviare il modulo affinché le destinazioni possano riprendere l'elaborazione dei messaggi di evento.

Utilizzare il comando esAdmin deleteLocks con attenzione. Tutti i blocchi nel modulo specificato vengono eliminati dal database del gestore blocchi.