Un event consumer o uno strumento di gestione può eliminare gli eventi dall'archivio dati utilizzando l'interfaccia Event Access.
Perché e quando eseguire questa attività
È possibile eliminare tutti gli eventi dall'archivio dati o limitare il numero di quelli da eliminare specificando gruppi eventi, selettori eventi o entrambi.
Nota: se la sicurezza di WebSphere è abilitata, l'ID utente applicazione deve essere associato al ruolo eventAdministrator per eliminare gli eventi.
Passi per questa attività
Per eliminare gli eventi dall'archivio dati, utilizzare il metodo purgeEvents() del bean Event Access. int purged = eventAccess.purgeEvents(eventGroup,
eventSelector,
transactionSize);
I parametri sono i seguenti:
- eventGroup
- Una stringa contenente il nome del gruppo eventi che include gli eventi che si desidera eliminare. Questo deve essere il nome di un gruppo eventi esistente definito nella configurazione di Event Infrastructure. Se non si desidera specificare un gruppo eventi, questo parametro può essere null.
- eventSelector
- Una stringa contenente un selettore eventi facoltativo che identifica gli eventi da eliminare. Un selettore eventi viene specificato nel formato di un'espressione XPath (per ulteriori informazioni, consultare Scrittura di selettori eventi).
Se non si desidera specificare un selettore eventi, questo parametro può essere null.
- transactionSize
- Un valore intero diverso da zero che specifica il numero di eventi da eliminare in un'unica transazione del database. Nella maggior parte dei casi, è possibile utilizzare la costante DEFAULT_PURGE_TRANSACTION_SIZE, definita dall'interfaccia Event Access.
Risultato
Il metodo purgeEvents() elimina gli eventi che corrispondono a tutti i criteri
specificati. Se i parametri eventGroup e
eventSelector sono entrambi null, vengono eliminati tutti gli eventi
presenti nell'archivio dati. Gli eventi ricevuti dopo l'avvio dell'operazione di eliminazione non vengono eliminati. Il valore restituito è un valore intero che specifica quanti eventi sono stati eliminati.
Nota: se il valore
del parametro transactionSize supera la dimensione massima della
transazione di eliminazione nel profilo dell'archivio dati, viene generata un'eccezione
PurgeThresholdExceededException e gli eventi non vengono eliminati. La dimensione
massima predefinita della transazione di eliminazione è 100 000.