Documentation for a newer release is available.
View Latest
¿Cómo modifico la HTM Request desde el HTM Error Handler para Flo-Lang?
El HTM Error handler personalizado, basado en la implementación predeterminada, puede crearse para enviar datos adicionales (supporting data y parameters) a HTM. Por ejemplo:
public class CustomHtmErrorHandlerExtensions<T extends Aggregate> extends HtmErrorHandlerExtensions<T> {
public CustomHtmErrorHandlerExtensions(SendingConnector<RegisterTaskRequest, Response<RegisterTaskResponse>> taskConnector, HtmProcessorRegistry htmProcessorRegistry) {
super(taskConnector, htmProcessorRegistry);
}
@Override
protected ValueWrapper getSupportingData(T aggregate, Throwable t) {
return ValueWrapper.builder().build(); // custom implementation
}
@Override
protected ValueWrapper getParameters(T aggregate, Throwable t) {
return ValueWrapper.builder().build(); // custom implementation
}
}
Ejemplo de configuración de Spring:
@Bean
public HtmErrorHandlerExtensions<Aggregate> defaultHtmErrorExtensions(SendingConnector<RegisterTaskRequest, Response<RegisterTaskResponse>> taskConnector, HtmProcessorRegistry htmProcessorRegistry) {
return new CustomHtmErrorHandlerExtensions<>(taskConnector, htmProcessorRegistry);
}
@Bean
public HtmexampleDomain htmexampleDomain(ActorSystem actorSystem, Dispatcher floDispatcher,
HtmErrorHandlerExtensions<Aggregate> htmErrorHandlerExtension) {
// All adapters should be added to the domain model
return new HtmexampleDomain.Builder(actorSystem)
.withDispatcher(floDispatcher)
.withFallbackExtensionProvider(ExtensionProvider.builder().flowErrorExtensions(htmErrorHandlerExtension).build()) (1)
.build();
}