Documentation for a newer release is available.
View Latest
Esta página no está disponible actualmente en Español. Si lo necesita, póngase en contacto con el servicio de asistencia de Icon (correo electrónico)
How Do I Modify HTM Request from HTM Error Handler for Flo-Lang?
The custom HTM Error handler, based on default implementation can be created for sending additional data (supporting data and parameters) to HTM. For example:
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
}
}
Spring configuration example:
@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();
}