Eliminazione istanze di processo

Le istanze di processo completate vengono automaticamente eliminate dal database di Business Process Choreographer se la proprietà corrispondente viene impostata per la maschera di processo nel modello di processo. È possibile conservare le istanze di processo nel database, ad esempio per eseguire query di dati da istanze di processo non scritte nel log di controllo. Tuttavia, i dati delle istanze di processo memorizzati non hanno effetto solo sulle prestazioni e sullo spazio su disco, ma evitano anche che istanze di processo utilizzino gli stessi valori di serie di correlazioni da cui vengono create. È necessario, pertanto, eliminare regolarmente i dati dell'istanza di processo dal database.

Perché e quando effettuare questa attività

Per eliminare un'istanza di processo, è necessario disporre dei privilegi di amministratore del processo e l'istanza del processo deve essere di livello superiore.

Il seguente esempio illustra come eliminare tutte le istanze di un processo finito.

Procedura di questa attività

  1. Elencare le istanze di processo terminate.
    QueryResultSet result = 
         process.query("DISTINCT PROCESS_INSTANCE.PIID",
                       "PROCESS_INSTANCE.STATE = 
                                PROCESS_INSTANCE.STATE.STATE_FINISHED", 
                        (String)null, (Integer)null, (TimeZone)null);

    Questa azione restituisce una serie di risultati di query che elenca le istanze di processo terminate.

  2. Eliminare le istanze di processo che sono terminate.
    while (result.next() )
    {
    	PIID piid = (PIID) result.getOID(1);
    	process.delete(piid);
    }
    Questa azione elimina l'istanza di processo selezionata e le relative attività in linea dal database.
Concetti correlati
Query sugli oggetti del processo aziendale e relativi alle attività

(c) Copyright IBM Corporation 2005, 2006.
This information center is powered by Eclipse technology (http://www.eclipse.org)