Saltar al contenido principal
Administrator Guide
Última actualización: 2023-06-23
Concepto: componentes del controlador de errores

Concepto: componentes del controlador de errores

Studio proporciona tres
Error Handler
diferentes en
Palette
:
Nombre
Función
send-error
Le permite procesar el error mediante componentes y pasos estándar. Un patrón común consiste en utilizar
send-error
para informar del error al evento de integración invocando el componente común
PutIntegrationMessage
.
log-error
Registra el error actual en el registro de resultado. Incluye el mensaje de error y el seguimiento de pila de la excepción de Java. Se utiliza cuando no es necesario exponer errores individualmente en el evento de integración, pero desea registrar el mensaje en el momento del error. Evite registrar mensajes grandes, ya que pueden degradar el rendimiento y truncarse, lo que provocaría la pérdida de datos de diagnóstico.
custom-error-handler
Le permite proporcionar un bean de Spring que utilice Java para procesar el error. Se utiliza cuando la gestión de errores requiere un código Java complejo.
Puede añadir un controlador de errores como elemento secundario de un componente de mediación o como elemento individual en el ensamblaje. Los controladores de errores añadidos a los componentes de mediación son locales. Los controladores de errores del ensamblaje son globales.
Cuando Workday detecta un error en una integración de Studio, detiene el proceso normal y revierte la cadena de componentes procesados en busca de un controlador de errores que invocar. Siempre intenta procesar primero los errores de forma local. Si no hay ningún controlador de errores local disponible, la responsabilidad se pasa al controlador de errores global. Utilice controladores de errores locales cuando desee un control preciso de lo que ocurre cuando se producen errores o necesite informar del contexto detallado de lo que estaba haciendo la integración en el momento del error. Piense en los controladores de errores globales como una opción a prueba de fallos.
Si se han activado todos los controladores de errores y aún no se ha marcado ningún error como controlado, Workday procesa el mensaje, genera un error a partir de la excepción y marca el ensamblaje como finalizado. Describe la integración como Finalizado con errores.
Comportamientos notables por defecto:
  • Los controladores de errores locales solo procesan los errores que surgen en su componente de mediación principal. Sin embargo, también pueden procesar errores en componentes posteriores. Para activar este comportamiento, defina la propiedad
    Handle Downstream Errors
    del componente de mediación que contiene el controlador de errores con el valor
    true
    .
  • Workday marca los errores como controlados cuando se invoca un controlador de errores. Sin embargo, si define la propiedad
    Rethrow Error
    de un controlador de errores como
    true
    , Workday no borra el error. Como resultado, lo gestiona el siguiente controlador de errores ascendente o el siguiente controlador de errores global dentro del ámbito. Utilice este patrón para informar localmente de los detalles de un error, pero para gestionar el error global o la finalización en un nivel superior del conjunto.
  • Cuando Workday gestiona un error, reinicia el proceso de mensajes desde el gestor de errores invocado y continúa por la ruta de respuesta hacia el elemento en el que se ha generado el error. Sin embargo, puede especificar que el procesamiento se reanude en el elemento en el que se produjo el error. Para activar este comportamiento, defina la propiedad
    Continue After Error
    del componente de mediación que contiene el controlador de errores como
    recover
    . Utilice este comportamiento en situaciones en las que el código invocado por el controlador de errores pueda corregir la condición de error, lo que permite que un reintento de la operación fallida tenga éxito.
Puede ejercer un mayor control sobre los controladores de errores añadiendo expresiones de condición MVEL en su vista
Properties
. Cuando hay expresiones de condición, Workday solo invoca el controlador de errores si todas se evalúan como verdaderas.
Puede forzar la generación de errores mediante el
context.setError
o
context.SetException
métodos en código MVEL o Java. Al utilizar el
setError
, puede configurar un ID de error que puedan detectar las expresiones condicionales en el controlador de errores. Utilice esta técnica cuando esté gestionando un error localmente pero quiera pasar algunos detalles del tipo de error a un controlador de errores anterior para su gestión común.
También puede gestionar los errores mediante los componentes de
Route
:
  • El componente
    failover-strategy
    intenta utilizar una ruta y, si se produce un error, la ejecuta y marca el error como gestionado.
  • La
    estrategia personalizada
    le permite proporcionar un bean Spring. Los beans Spring implementan la
    RoutingStrategy
    interfaz, que tiene una
    isHandleError
    método Utilice este método para especificar que la estrategia gestiona los errores.