Error Extension Puntos

Extensiones de Error de Flujo

Las extensiones de error de flujo permiten la customisation de lo que debe suceder si ocurre un error inesperado durante el procesamiento del flujo. Proporcionan un gancho para manejar la excepción lanzada y ofrecen al desarrollador la opción de implementar una rutina de manejo.

Las extensiones de error se proporcionan al implementar la interfaz 'FlowErrorExtensions' y luego suministrarla a su dominio a través de la extension proveedor. Por favor, consulte la agregar extensiones sección para más detalles.

La funcionalidad disponible en la interfaz de extensiones de error es:

Nombre Del Método Descripción Funcionalidad Predeterminada

shouldRaiseEventOnError

Especifica si el flujo debe generar un 'Error Inesperado' especial.event cuando ocurre un error inesperado durante el procesamiento y luego utilice eso event para transitar al estado especial 'En Error’s tate. Cuando un flujo alcanza el 'En Error’s tate, puede entonces ser trasladado proporcionando el currículum, la funcionalidad de abortar o forzar la finalización disponible en el dominio del modelo.

Apagado, no events elevado.

mango

Permite la implementación de cualquier custom manejo de errores de flujo que desea proporcionar. Un caso de uso común para esta funcionalidad sería si estuviera integrando su flujo con el IPF Human Task Manager(HTM). Por ejemplo, si ocurre un error inesperado durante el procesamiento, usted puede definir un custom manejador de errores para transitar el flujo hacia el error state y eleve un HTM tarea. Desde aquí, el operador tendría la capacidad de reintentar la transacción o de abortar/forzar la finalización de la transacción. Más detalles sobre esta implementación se pueden encontrar aquí.

Sin manejo adicional.

Las extensiones de error predeterminadas son proporcionadas por la implementación de 'DefaultFlowErrorHandler'.

Reintentos

Por defecto, las extensiones de error permitirán un número infinito de reintentos. Esto significa que, si ocurre un error y luego se reanuda el flujo (por ejemplo, a través de un HTM acción de recuperación) y la falla permanecen sin resolver, entonces el procesamiento de la falla volverá a ocurrir y se repetirá cualquier manejo apropiado. Sin embargo, puede ser que en algunas circunstancias necesite detener el procesamiento para que no se repita de esta manera. Para esto, podemos agregar el elemento de configuración "errorRetries". Esto especificará el número máximo de reintentos que desea realizar hasta que se aborte el pago.

Para establecer el límite de reintentos, simplemente añada el número máximo de reintentos durante la construcción del dominio:

new ErrorHandlingDomain. Builder(actorSystem) .withConfigSettings(ConfigSettings.builder().errorRetries(3).build()) .build();

La configuración anterior garantizará que si ocurren 3 fallos, el error será dirigido al abortado.state.

Esta configuración también puede aplicarse utilizando la propiedad 'ipf.behaviour.config.error-retries'.

Event Extensiones de Error

Event las extensiones de error se invocan cuando ocurre un error inesperado durante el procesamiento de un event. El caso de uso principal para esto es capturar errores que ocurren durante la invocación de un agregado.mapping y particularmente para prevenir fallos durante escenarios de recuperación.

Similar a las extensiones de error de flujo,event se proporcionan extensiones de error al implementar el 'EventErrorExtensions’interfaz, y luego suministrando eso a su dominio a través de la’extension proveedor. El comportamiento predeterminado es simplemente mover el registro a la "En Error" state y luego pasivar el flujo (esto evita que se intente de manera infinita por la recuperación). Opcionalmente, usted puede implementar el 'EventErrorExtensions método handle para proporcionar funcionalidad adicional. Una opción aquí sería utilizar el HTM extensiones para enviar estos registros a HTM para análisis manual.