DPS Servicio de Notificación
Notifications se envían después de que se realizan ciertas operaciones contra la configuración.
Notifications están deshabilitados por defecto. Para habilitarlos, propiedad `ipf.dps.notification-service.enabled` debe establecerse en verdadero.
Ahora solo soportamos operaciones CRUD.notifications. Así que, después de la operación de crear, actualizar y eliminar, se envía una notificación.
Aquí está el ejemplo del mensaje DpsCrudNotification:
{
"settings": "settingType",
"logicalUniqueKey": "logicalUniqueKey",
"action": "CREATED"
}
Aquí está el ejemplo de la interfaz DpsNotificationServicePort:
public interface DpsNotificationServicePort {
CompletionStage<Void> sendSettingCrudNotification(String logicalUniqueKey, String settingType, DpsCrudNotification.CrudNotificationAction action);
}
Al crear un entorno que requiere una aprobación, la notificación correspondiente no se enviará en el momento de la creación. Se enviará cuando se apruebe la configuración.
DPS Servicio de Notificación Kafka
Este es el kafka implementación de la DPS Servicio de notificación. Todo notifications se envían a un dedicado kafka tema.
Aquí está el ejemplo de hocon configuración para DPS Servicio de Notificación Kafka
ipf.dps {
notification-service {
enabled = true
kafka {
producer {
topic = DPS_CRUD_NOTIFICATION
restart-settings = ${common-flow-restart-settings}
kafka-clients {
group.id = dps-crud-notification-group
}
}
}
}
}
common-flow-restart-settings {
min-backoff = 1s
max-backoff = 5s
random-factor = 0.25
max-restarts = 5
max-restarts-within = 10m
}
Custom implementaciones (sobrescribir el predeterminado)
DPS permite a los servicios descendentes proporcionar su propia implementación de DpsNotificationServicePort. Si un bean de ese tipo está presente en el application context,DPS lo utilizará en lugar del integrado Kafka/Adaptadores No-op.
Cómo funciona
DPS proporciona dos adaptadores predeterminados, (Kafka y No-op) a través de la autoconfiguración.
Esos beans se declaran con @ConditionalOnMissingBean(DpsNotificationServicePort.class).
Por lo tanto, cualquier contenido proporcionado por el usuario bean de tipo DpsNotificationServicePort toma automáticamente precedencia.
Interacción con ipf.dps.notification-service.enabled
verdadero DPS crearía el Kafka adaptador a menos que usted proporcione un custom bean.
falso →DPS crearía el adaptador No-op a menos que usted proporcione un custom bean.
Custom bean está presente →custom La implementación se utiliza independientemente del valor de la propiedad.