Pasos de Migración para IPF-2023.2.0

Actualizaciones de versión

Nueva Migración del Modelo de Datos IPF

Deberá migrar al nuevo modelo de datos antes de actualizar al nuevo BOM. Estaremos descontinuando y eliminando los tipos antiguos en las versiones posteriores. Los detalles se pueden encontrar en la documentación para desarrolladores de IPF.- Migrando desde el modelo de datos heredado

Para migrar de 2023.1.0, por favor realice los siguientes pasos:

  • Actualice su versión de la lista de materiales (BOM) a la nueva versión de lanzamiento.2023.2.0:

<parent>
    <groupId>com.iconsolutions.ipf</groupId>
    <artifactId>ipf-release-core-bom</artifactId>
    <version>2023.2.0</version>
</parent>
  • Actualice todas las versiones de flo dentro de las carpetas de dominio a 1.36.101. Específicamente, en "docs", "dominio", "bibliotecas-externas", " mps ", "sampleapp" y "test" módulos, actualice para que se vea como:

<parent>
    <groupId>com.iconsolutions.ipf.core.flow</groupId>
    <artifactId>flo-starter-<modulename></artifactId>
    <version>1.36.101</version>
    <relativePath></relativePath>
</parent>
  • Ejecute un Maven construya para recuperar todas las últimas dependencias.

Actualizaciones de Código

Inicialización de la Aplicación

Al iniciar su IPF application sin nodos semilla ni Cluster Bootstrap configurado, puede obtener esta excepción:

java.lang. IllegalArgumentException: No default service discovery implementation configured in `akka.discovery.method`. Make sure to configure this setting to your preferred implementation such as 'akka-dns' in your application.conf (from the akka-discovery module).

Para remediar esto, especifique un método de descubrimiento de servicios como Kubernetes, o-si esta aplicación no requiere agrupamiento-especifique este bloque:

akka {
  cluster.seed-nodes = ["akka://"${actor-system-name}"@0.0.0.0:"${akka.remote.artery.canonical.port}]
  remote.artery {
    canonical.port = 55001
    canonical.hostname = 0.0.0.0
    bind.hostname = 0.0.0.0
    bind.port = 55001
  }
}

El bloque anterior configurará un nodo semilla con una dirección específica, lo que deshabilitará el arranque del clúster.

No utilice el bloque anterior para distribuido Akka cluster s. Esto creará un cerebro dividido. Utilice el Descubrimiento de Servicios con Kubernetes en su lugar.

Serialización

Cualquier uso de Serialization Helper. Custom Module ha sido trasladado y renombrado. Esto se actualizará automáticamente al utilizar la clase SerializationHelper, pero no se actualizará si se utiliza en otros lugares como el akka configuración de serialización.

Si tiene algo como esto en su configuración:

akka.serialization.jackson {
  jackson-modules += "com.iconsolutions.ipf.core.shared.api.serializer. SerializationHelper$CustomModule"
}

ahora debe ser reemplazado por:

akka.serialization.jackson {
  jackson-modules += "com.iconsolutions.ipf.core.shared.api.serializer.module. UntypedObjectDeserializationModule"
}
Si utiliza el ipf-common-starter-módulo _core, que viene como una dependencia transitiva con el ipf-write-starter- El módulo -mongo se ha añadido ahora por defecto, por lo que no necesita configurarlo manualmente como se indicó anteriormente.