Configuración de Procesamiento Personalizado
La Configuración de Procesamiento Personalizado es una configuración dinámica extensible que proporciona la capacidad de configurar custom Configuraciones con tipos de datos flexibles a nivel de entidad de procesamiento. A diferencia de las categorías de configuración predefinidas, las Configuraciones de Procesamiento Personalizadas permiten a las implementaciones definir sus propias claves de configuración con valores asociados de varios tipos, proporcionando la máxima flexibilidad para los requisitos específicos del cliente.
IPF Coreadmite los siguientes tipos de valores de configuración para Configuraciones de Procesamiento Personalizado:
-
Configuración Booleana — Valor de configuración que representa indicadores o conmutadores de verdadero/falso.
-
Configuración de cadenas — Valores de configuración que almacenan valores de cadena.
-
Configuración de Números — Valores de configuración que almacenan datos numéricos.
-
Configuración de Arreglos de Cadenas — Valores de configuración que almacenan múltiples valores de texto como un arreglo.
-
Configuración de Arreglos Numéricos — Valores de configuración que almacenan múltiples valores numéricos como un arreglo.
Los ajustes de procesamiento personalizados proporcionan una estructura flexible de clave-valor donde las implementaciones del cliente pueden definir sus propias custom configurando claves y valores asociados de acuerdo con sus requisitos específicos sin requerir cambios en el modelo de dominio central.
Configuración de Procesamiento Personalizado
Propiedades de Configuración Dinámica
| Nombre | Descripción |
|---|---|
settingName |
Nombre de la propiedad de configuración. Combinado con un processingEntity de DPS La estructura de configuración representa un identificador único para la configuración. |
settingCategory |
Campo de discriminación desde el lado de uso/negocio |
settingFormat |
Campo discriminador que identifica el tipo del valor de configuración. Valores posibles: BOOLEAN CADENA NÚMERO STRING_ARRAY NUMBER_ARRAY |
valor De Configuración |
El objeto anidado de un tipo que depende de la propiedad settingFormat. Tiene una propiedad value que contiene el valor de configuración real. Tipos posibles: BooleanSettingValue StringSettingValue Número Configuración Valor StringArraySettingValue NumberArraySettingValue |
Tipo de configuración
DPSv2 introdujo un nuevo atributo de Tipo de Configuración. Este se utiliza para la generación de todos API puntos finales para una configuración particular. También se utiliza en la construcción index-config.<tipo de configuración>.
SETTING_TYPE = "customprocessingsettings"
Campos buscables
Los campos buscables para la Configuración de Procesamiento Personalizado son:
-
estado
-
processingEntity
-
settingName
-
categoría De Configuración
Índices
DPSv2 proporciona una opción para configurar índices para cada ajuste. Los índices predeterminados para la Configuración de Procesamiento Personalizado son:
ipf.dps.mongodb.index-config.customprocessingsettings {
index-1 = ["status:ASC"]
index-2 = ["processingEntity:ASC"]
index-3 = ["payload.settingName:ASC"]
index-4 = ["payload.settingCategory:ASC"]
}
Esto puede ser anulado o actualizado. Simplemente tenga en cuenta que cuando el campo está bajo carga, debe proporcionar un índice como:`index-x = ["values.payload.fieldX:ASC"]`.
Campo processingEntity se añade a la búsqueda de configuración, por lo que para un mejor rendimiento se recomienda que se cree un índice para processingEntity se crea.
Notifications
La configuración de procesamiento personalizado anula la predeterminada. DPS mecanismo de notificación v2 con un custom Kafka-implementación basada. En lugar de utilizar el estándar DpsCrudNotification tipo, CPS implementa CpsNotificationServiceKafkaAdapter que envía CpsCrudNotification mensajes a través de Kafka.
Implementación de Notificaciones Personalizadas
El CpsNotificationServiceKafkaAdapter implementa DpsNotificationServicePort y proporciona:
-
Modelo de notificación personalizada: Utiliza
CpsCrudNotificationen lugar del estándarDpsCrudNotification -
Kafka-entrega basada: Notifications se envían a través de Kafka temas utilizando
SendConnector -
Notificación selectiva: Solo envía notificaciones para acciones CREADAS, ACTUALIZADAS y ELIMINADAS (se omiten las acciones programadas).
-
Estructura de carga aplanada: Extrae y aplana el valor de configuración de la estructura anidada para una mejor utilización.
Estructura de Notificación
El CpsCrudNotification contiene:
| Campo | Descripción |
|---|---|
claveÚnica Lógica |
Identificador único que combina el nombre de la entidad de procesamiento y la configuración. |
settingType |
El tipo de configuración (" customprocessingsettings) |
acción |
Acción CRUD realizada: CREADA, ACTUALIZADA o ELIMINADA |
processingEntity |
El contexto de la entidad de procesamiento |
carga útil |
Carga útil de notificación aplanada que contiene: - |
Configuración
Notificationspuede ser habilitado/deshabilitado a nivel de configuración. Notifications están habilitados por defecto:
ipf.cps.should-send-notification.custom-processing-settings = true
Cuando está habilitado, el CpsNotificationServiceKafkaAdapter enviaré Kafka mensajes al tema configurado para todas las operaciones de CREACIÓN, ACTUALIZACIÓN y ELIMINACIÓN en Configuraciones de Procesamiento Personalizadas.
Dependencia del Módulo
Para utilizar el Kafka servicio de notificación, incluya la siguiente dependencia:
<dependency>
<groupId>com.iconsolutions.ipf</groupId>
<artifactId>cps-dynamic-settings-notification-service-kafka</artifactId>
</dependency>
El módulo proporciona Spring Boot autoconfiguración y anulará automáticamente la configuración predeterminada DPS servicio de notificación cuando esté presente en el classpath.
Configuración de Tipos de Valor
Valor de Configuración Booleano
Los valores de configuración booleanos representan una configuración simple de verdadero/falso.
Valor de configuración de cadena
Los valores de configuración de cadena almacenan datos de configuración basados en texto.
Valor de Configuración de Número
Los valores de configuración de números almacenan datos de configuración numérica (enteros o decimales).
Configuración de Valor de Array de Cadenas
El arreglo de cadenas para la configuración de valores almacena múltiples valores de texto como una lista.