Remitente de Notificación V2 Extension Puntos
- Advertencia
-
Esta sección cubre los puntos de extensión V2, que es el predeterminado para el servicio de notificación de pagos.
Si se proporcionan tanto los puntos de extensión V1 como V2, se utiliza la implementación V2 por defecto.
La documentación de los puntos de extensión V1 se puede encontrar aquí. - NOTA
-
Cualquier referencia a
ProducedReporten esta página de documentación se refiere a la clase V2com.iconsolutions.ipf.product.notification.api.model.v2.ProducedReport
Adicional MDS Manejador de Objetos
Actualmente, solo se almacenan en caché los mensajes PAIN. 001 por el servicio, esto proporciona un punto de extensión para almacenar en caché otros, y por defecto es una operación sin efecto.
El V2 AdditionalMdsObjectHandler se encuentra en el com.iconsolutions.ipf.product.notification.api.handler.v2 paquete.
La implementación predeterminada se proporciona aquí:
public interface AdditionalMdsObjectHandler {
default CompletionStage<Void> handle(MdsObjectWrapper mdsObjectWrapper, ProcessingContext context) {
return CompletableFuture.completedStage(null);
}
record MdsObjectWrapper(NotificationMdsObjectType mdsObjectType, String messageDefinition, String typeName, JsonNode mdsObject) {
}
}
Que puede ser anulado por cualquier cliente que utilice la aplicación del Servicio de Notificaciones.
Publicación Event Procesador
Se añadió como un gancho independiente para ejecutar el post procesamiento de todos los eventos, independientemente de si están configurados para ejecutarse.
El V2 PostEventProcessor se encuentra en el com.iconsolutions.ipf.product.notification.api.processor.v2 paquete.
La implementación predeterminada se proporciona aquí:
public interface PostEventProcessor {
default CompletionStage<Void> handle(ProcessingContext context, ProcessFlowEvent processFlowEvent) {
return CompletableFuture.completedStage(null);
}
}
Que puede ser anulado por cualquier cliente que utilice la aplicación del Servicio de Notificaciones.
Message Log Enriquecedor
A customised*MessageLogEntryEnricher<ProducedReport>* puede ser proporcionado para que cualquier cliente pueda enriquecer MessageLogs para todos SendConnector(s) del Servicio de Notificación al enviar notificaciones.
La implementación predeterminada de la MessageLogEntryEnricher<ProducedReport> es no hacer nada y se proporciona aquí:
@Override
public void enrich(ConnectorMessage<ProducedReport> connectorMessage, MessageLogEntry messageLogEntry) {
//noop
}
Que puede ser anulado por cualquier cliente que utilice la aplicación del Servicio de Notificaciones.
Enviar TransportMessage Convertidor
Se añadió para proporcionar un customised*SendTransportMessageConverter<ProducedReport>*, para que la función pueda ser aplicada por todos SendConnector(s) del Servicio de Notificación al enviar notificaciones.
La implementación predeterminada de la SendTransportMessageConverter<ProducedReport> es serializar el ProducedReport’s report campo y se proporciona aquí:
@Override
public TransportMessage convert(ProducedReport payload) {
return new TransportMessage(SerializationHelper.objectToString(payload.report()));
}
Que puede ser anulado por cualquier cliente que utilice la aplicación del Servicio de Notificaciones.