Dynamic Processing Settings v2 - Cambios y Soluciones

Esta página cubre el DPS(Dynamic Processing Settings) cambios y correcciones del módulo v2 proporcionados en la versión IPF-2024.3.0.

Dynamic Processing Settings v2

Dynamic Processing Settings API

Nuevo

  • Se implementó la biblioteca del cliente para DPS. DPS tiene genérico API y con esta biblioteca de cliente DPS proporciona todas las aplicaciones para utilizarlo. Está implementado para CRUD y Búsqueda APIs Existen dos maneras en las que se pueden implementar: a través de conectores o directamente. Cuando lo utilizamos a través de conectores, debemos establecer el tipo de cliente como conector (que también es el valor predeterminado para los conectores). Si desea utilizarlo directamente, debe establecer el tipo de cliente como directo (que también es el valor predeterminado cuando utilizamos el enfoque directo).

  • Se añadió el endpoint /setting-objects/schemas para obtener los esquemas de carga útil y los campos buscables para todos los objetos de configuración disponibles. También se implementaron conectores de cliente para ello.

  • SettingsTypeIdResolver utilizado para custom JSON(de)serialización. La respuesta contiene el campo @type que contiene información sobre el tipo genérico en lugar de tener el campo class Name con el nombre de clase completamente calificado. Todas las configuraciones deben establecer la anotación @Setting Type Id con un valor único. Este valor se establece como el campo @type en JSON respuesta.

  • dynamic-processing-settings-client-notification-port módulo que representa una interfaz para recibir dps notifications

  • dynamic-processing-settings-client-notification-kafka módulo que representa la implementación para recibir dps notifications a través de kafka

  • DpsCrudNotification escriba en dynamic-proessing-settings-model

  • El manejo de errores es compatible con DPS V1

  • Aprobación API la respuesta contiene nuevos campos (approvalType, recordType, createdDate)

  • parámetro de consulta deletedBy para la configuración DELETE API y el campo correspondiente en SettingDTO

  • processingEntity como un parámetro de consulta opcional para GET Aprobaciones API

Cambiado

  • La respuesta del endpoint de aprobaciones se ha ampliado para incluir las diferencias entre la configuración persistida y la configuración aprobada.

  • La estructura del Documento de Aprobación (DB) ha cambiado, los campos antiguos (approvedBy, rejectedBy, approvedReason, rejectedReason) han sido reemplazados por nuevos campos (createdDate, resolvedBy, resolvedReason, resolvedDate, resolvedStatus).

Configuración

ipf.dps-api.client-type=conector

La implementación de la biblioteca del cliente se realiza a través de conectores.

ipf.dps-api.client-type=direct

La implementación de la biblioteca del cliente se realiza a través de una implementación directa.

ipf.dps-api.default-connector

Valores predeterminados para conectores

ipf.dps-api.default-connector.configuración-de-resiliencia

Valores predeterminados para la configuración de resiliencia

ipf.dps-api.default-connector.resiliency-settings.max-attempts

Determina el número máximo de reintentos que se pueden realizar. Tenga en cuenta que esto incluye el primero.failed intento. El valor predeterminado se establece en 2.

ipf.dps-api.default-connector.resiliency-settings.retryable-status-codes

Reintente si el código de error HTPP está en la lista. Los valores predeterminados son [500, 503]

ipf.dps-api.default-connector.resiliency-settings.minimum-number-of-calls

Determina el número mínimo de llamadas (dentro de un período de ventana deslizante) que deben realizarse antes de que el interruptor de circuito pueda calcular la tasa de error para determinar la salud del transporte.

ipf.dps-api.conector.crear-configuración

Configuraciones personalizadas para el conector de creación de configuraciones. Si no se especifica, se establecen valores predeterminados.

ipf.dps-api.conector.actualizar-configuración

Configuraciones personalizadas para el conector de actualización de configuración. Si no se especifica, se establecen valores predeterminados.

ipf.dps-api.conector.eliminar-configuración

Configuraciones personalizadas para el conector de eliminación de configuraciones. Si no se especifica, se establecen valores predeterminados.

ipf.dps-api.connector.get-setting

Configuraciones personalizadas para el conector get-setting. Si no se especifica, se establecen valores predeterminados.

ipf.dps-api.conector.ajuste-de-búsqueda

Configuraciones personalizadas para el conector de configuración de búsqueda. Si no se especifica, se establecen valores predeterminados.

ipf.dps-api.connector.search-ids-setting

Configuraciones personalizadas para el conector de configuración de identificadores de búsqueda. Si no se especifica, se establecen valores predeterminados.

ipf.dps-api.conector.ajuste-de-solicitud-de-búsqueda

Configuraciones personalizadas para el conector de configuración de solicitud de búsqueda. Si no se especifica, se establecen valores predeterminados.

ipf.dps-api.conector.esquemas-de-configuración

Configuraciones personalizadas para el conector de esquemas de configuración. Si no se especifica, se establecen valores predeterminados.

ipf.dps-api.client.notification

Configuraciones personalizadas para kafka consumidor para dps crud notifications

Dynamic Processing Settings

Nuevo

  • Compatibilidad hacia atrás del servicio CRUD v1.

  • DPS v2 puede trabajar con configuraciones creadas por DPS v1 sin ninguna migración de base de datos. Es necesario configurar DPS v2 con información sobre cómo convertir la estructura de datos v1 a v2 para cada definición de configuración. La configuración se realiza a través de la propiedad ipf.dps.settings.<setting-definition>. Puede encontrar más detalles en Configuración.

  • Implementación de búsqueda que puede devolver el valor de configuración actualmente activo o el valor de configuración que es scheduled para estar activo en el futuro. El valor que se devolverá depende del parámetro de consulta at Time. Si el parámetro at Time apunta a un momento en el que el valor actual está activo, entonces se utilizará el valor actual. Si el parámetro at Time apunta a un momento en el futuro cuando el scheduled el valor estará activo, entonces el scheduled el valor se utilizará. Este parámetro es opcional. Si no se establece, se utiliza la hora actual.

  • dynamic-processing-settings-notification-service con api módulo dynamic-processing-settings-notification-service-port y kafka implementación dynamic-processing-settings-notification-service-kafka para operaciones CRUD notifications-en el dynamic-processing-settings-repository-mongo hay DpsIndexCreator bean que crea índices por tipo de configuración basado en hocon config

  • Implementación del servicio de Historial añadida-campo deletedBy en el documento de Configuración-processingEntity como un parámetro opcional para GET Aprobaciones

Cambiado

  • activeFromDate es el parámetro disponible en ambos create y update solicitudes de configuración. Este valor nos indica desde cuándo está activa la configuración. En caso de que este valor si no se proporciona en una solicitud, el servicio establecerá la fecha actual en el momento de crear o actualizar la configuración.

Configuración

ipf.dps.settings.<setting-type>.type-mapping.from-type

Define qué modelo de repositorio específico de la configuración v1 debe ser mapeado al modelo de repositorio v2, por ejemplo.com.iconsolutions.ipf.dynamicsettings.repository. DpsSampleSettings

ipf.dps.settings.<setting-type>.type-mapping.to-type

Modelo de repositorio V2 utilizado para la compatibilidad hacia atrás con v1 (que ya no es específico de configuración y se utiliza para todas las configuraciones v1). Para las configuraciones v1, debe establecerse en este valor.com.iconsolutions.ipf.dynamicsettings.v2.repository.mongo.entity. Setting Document V1

ipf.dps.settings.<setting-type>.type-mapping.tipo-de-carga

Definición de la clase de configuración (que puede permanecer igual que antes) p. ej.com.iconsolutions.ipf.dynamicsettings.domain. DpsSample

ipf.dps.servicio-de-notificaciones

Configuraciones para el servicio de notificación de configuraciones de procesamiento dinámico-kafka

Incompatibilidad hacia atrás

  • El parámetro active From ha sido eliminado de la consulta de búsqueda. Su uso ha sido reemplazado por el parámetro at Time.

  • La respuesta del endpoint de aprobaciones se ha ampliado para incluir las diferencias entre la configuración persistida y la configuración aprobada.

  • SettingsTypeIdResolver establece el campo @type que contiene información sobre el tipo genérico en lugar de tener el campo class Name con el nombre de clase completamente calificado.