Passa al contenuto principale
Administrator Guide
Ultimo aggiornamento: 2023-06-23
Concetto: Componenti dei gestori degli errori

Concetto: Componenti dei gestori degli errori

Studio offre tre diversi
gestori degli errori
nella
Palette
:
Nome
Funzione
send-error
Consente di elaborare l'errore utilizzando componenti e step standard. Un modello comune prevede di utilizzare
send-error
per segnalare l'errore all'evento di integrazione richiamando il componente generale
PutIntegrationMessage
.
log-error
Registra l'errore corrente nel registro di output. Include il messaggio di errore e la traccia stack dell'eccezione Java. Utilizzare quando non è necessario esporre singolarmente gli errori nell'evento di integrazione, ma si desidera registrare il messaggio al momento dell'errore. Evitare di registrare messaggi di grandi dimensioni in quanto possono ridurre le prestazioni e potrebbero essere troncati, causando la perdita dei dati di diagnostica.
custom-error-handler
Consente di fornire un bean di Spring che utilizza Java per elaborare l'errore. Utilizzare quando la gestione degli errori richiede un codice Java complesso.
È possibile aggiungere un gestore degli errori come elemento figlio di un componente di mediazione o come elemento singolo nell'assembly. I gestori degli errori aggiunti ai componenti di mediazione sono locali. I gestori degli errori nell'assembly sono globali.
Quando il sistema rileva un errore in un'integrazione di Studio, interrompe la normale elaborazione e svolge la catena dei componenti elaborati alla ricerca di un gestore degli errori da richiamare. Tenta sempre di elaborare prima gli errori in locale. Se non è disponibile alcun gestore degli errori locale, la responsabilità passa al gestore degli errori globale. Utilizzare i gestori degli errori locali quando si desidera controllare con precisione cosa accade quando si verificano errori o quando si desidera segnalare il contesto dettagliato dell'operazione eseguita dall'integrazione al momento dell'errore. Considerare i gestori degli errori globali come un sistema di sicurezza.
Se tutti i gestori degli errori sono stati attivati e un errore non è ancora contrassegnato come gestito, il sistema elabora il messaggio, genera un errore dall'eccezione e contrassegna l'assembly come terminato. Descrive l'integrazione come Completata con errori.
Comportamenti predefiniti degni di nota:
  • I gestori degli errori locali elaborano solo gli errori che si verificano nel componente di mediazione padre. Tuttavia, possono anche elaborare gli errori nei componenti a valle. Per abilitare questo comportamento, impostare la proprietà
    Handle Downstream Errors
    del componente di mediazione che contiene il gestore degli errori su
    true
    .
  • Il sistema contrassegna gli errori come gestiti quando viene richiamato un gestore degli errori. Tuttavia, se si imposta la proprietà
    Rethrow Error
    di un gestore degli errori su
    true
    , l'errore non viene cancellato. Di conseguenza, viene gestito dal successivo gestore errori a monte nell'ambito o dal gestore errori globale. Utilizzare questo modello per segnalare i dettagli di un errore in locale ma per gestire l'errore o il completamento complessivo a un livello superiore nell'assieme.
  • Quando il sistema gestisce un errore, riavvia l'elaborazione dei messaggi dal gestore degli errori richiamato, proseguendo nel percorso della risposta verso l'elemento in cui è stato generato l'errore. Tuttavia, è possibile specificare che l'elaborazione debba invece riprendere dall'elemento in cui è stato generato l'errore. Per abilitare questo comportamento, impostare la proprietà
    Continue After Error
    del componente di mediazione che contiene il gestore degli errori su
    recover
    . Utilizzare questo comportamento nelle situazioni in cui il codice richiamato dal gestore degli errori può correggere la condizione di errore, consentendo la riuscita di un nuovo tentativo.
È possibile esercitare un maggiore controllo sui gestori degli errori aggiungendo espressioni condizionali MVEL nella visualizzazione
Properties
. Quando sono presenti espressioni condizionali, il sistema richiama il gestore degli errori solo se tutte restituiscono true.
È possibile forzare la generazione di errori utilizzando
context.setError
o
context.SetException
metodi in codice MVEL o Java. Quando si utilizza il
setError
è possibile configurare un ID errore che può essere rilevato dalle espressioni condizionali nel gestore degli errori. Utilizzare questa tecnica quando si gestisce un errore in locale ma si desidera passare alcuni dettagli del tipo di errore a un gestore errori a monte per la gestione comune.
È anche possibile gestire gli errori utilizzando i componenti
Route
:
  • failover-strategy
    tenta di utilizzare un percorso e, se si verifica un errore, lo esegue e contrassegna l'errore come gestito.
  • La
    strategia personalizzata
    consente di fornire un bean Spring. I bean di primavera implementano il
    RoutingStrategy
    con un'interfaccia
    isHandleError
    metodo Utilizzare questo metodo per specificare che la strategia gestisce gli errori.