Passer au contenu principal
Administrator Guide
Dernière mise à jour : 2023-06-23
Concept : composantes Error Handler

Concept : composantes Error Handler

Studio fournit trois (3) 
Error Handler
différents dans la
Palette
 :
Nom
Fonction
send-error
Permet de traiter l’erreur à l’aide de composantes et d’étapes standard. Un modèle courant consiste à utiliser
send-error
pour signaler l’erreur à l’événement d’intégration en appelant la composante commune
PutIntegrationMessage
.
log-error
Enregistre l’erreur actuelle dans le journal de sortie. Inclut le message d’erreur et la trace de la pile de l’exception Java. À utiliser lorsqu’il n’est pas nécessaire d’exposer individuellement les erreurs de l’événement d’intégration, mais que vous souhaitez consigner le message au moment de l’erreur. Évitez de consigner des messages volumineux, car ils peuvent nuire aux performances et être tronqués, ce qui entraînerait la perte de données de diagnostic.
custom-error-handler
Permet de fournir un Spring bean qui utilise Java pour traiter l’erreur. À utiliser lorsque la gestion des erreurs nécessite un code Java complexe.
Vous pouvez ajouter un gestionnaire d’erreurs en tant qu’élément enfant d’une composante de médiation ou en tant qu’élément individuel dans l’assemblage. Les gestionnaires d’erreurs ajoutés aux composantes de médiation sont locaux. Les gestionnaires d’erreurs de l’assemblage sont globaux.
Lorsque Workday détecte une erreur dans une intégration de Studio, il arrête le traitement normal et déroule la chaîne des composantes traitées, à la recherche d’un gestionnaire d’erreurs à appeler. Il tente toujours de traiter les erreurs au niveau local d’abord. Si aucun gestionnaire d’erreurs local n’est disponible, la responsabilité est transmise au gestionnaire d’erreurs global. Utilisez des gestionnaires d’erreur locaux lorsque vous souhaitez contrôler précisément ce qui se passe en cas d’erreur ou lorsque vous avez besoin de signaler le contexte détaillé de ce que l’intégration était en train de faire au moment où l’erreur s’est produite. Considérez les gestionnaires d’erreurs globaux comme une sécurité intégrée.
Si chaque gestionnaire d’erreurs a été déclenché et qu’une erreur n’est toujours pas marquée comme traitée, Workday traite le message, génère une erreur à partir de l’exception et marque l’assemblage comme terminé. Il décrit l’intégration comme Terminé avec erreurs.
Comportements par défaut notables :
  • Les gestionnaires d’erreurs locaux ne traitent que les erreurs qui surviennent dans leur composante de médiation parent. Toutefois, ils peuvent également traiter les erreurs des composantes en aval. Pour activer ce comportement, définissez la propriété
    Handle Downstream Errors
    de la composante de médiation contenant le gestionnaire d’erreurs sur
    true
    .
  • Workday marque les erreurs comme traitées lorsqu’un gestionnaire d’erreurs est appelé. Toutefois, si vous définissez la propriété
    Rethrow Error
    d’un gestionnaire d’erreurs à
    true
    , Workday n’efface pas l’erreur. Par conséquent, elle est traitée par le prochain gestionnaire d’erreurs en amont dans le cadre ou par le gestionnaire d’erreurs globales. Utilisez ce modèle pour signaler les détails d’une erreur localement, mais pour traiter l’échec ou l’achèvement global à un niveau supérieur dans l’agrégation.
  • Lorsque Workday gère une erreur, il redémarre le traitement des messages à partir du gestionnaire d’erreurs appelé et se poursuit sur le chemin de réponse vers l’élément où l’erreur a été signalée. Toutefois, vous pouvez préciser que le traitement doit plutôt reprendre à l’élément où l’erreur a été déclenchée. Pour activer ce comportement, définissez la propriété
    Continue After Error
    de la composante de médiation contenant le gestionnaire d’erreurs à
    recover
    . Utilisez ce comportement dans les situations où le code appelé par le gestionnaire d’erreurs peut corriger la condition d’erreur, ce qui permet à une nouvelle tentative de l’opération qui a échoué de réussir.
Vous pouvez exercer un meilleur contrôle sur les gestionnaires d’erreurs en ajoutant des expressions de condition MVEL dans leur vue
Properties
. Lorsque des expressions de conditions sont présentes, Workday appelle le gestionnaire d’erreurs uniquement si elles sont évaluées comme vraies.
Vous pouvez forcer la génération des erreurs en utilisant le
context.setError
ou
context.SetException
méthodes en code MVEL ou Java. Lorsque vous utilisez la
setError
Pour la méthode , vous pouvez configurer un identifiant d'erreur qui peut être détecté par des expressions conditionnelles dans le gestionnaire d'erreurs. Utilisez cette technique lorsque vous traitez une erreur localement, mais que vous souhaitez transmettre des détails sur le type d’erreur à un gestionnaire d’erreurs en amont pour le traitement commun.
Vous pouvez également gérer les erreurs à l’aide des composantes
route
 :
  • La stratégie
    failover-strategy
    tente d’utiliser une route et, si une erreur se produit, exécute la route de basculement, en marquant l’erreur comme étant traitée.
  • La
    stratégie personnalisée
    vous permet de fournir un bean serein. Les Domaines de primes mettent en œuvre le
    RoutingStrategy
    interface, qui comporte une
    isHandleError
    méthode. Utilisez cette méthode pour préciser que la stratégie traite les erreurs.