Notas de la versión para IPF-2025.3.0

Esta página detalla todo lo necesario para comenzar con la versión IPF 2025.3.0 disponible el 21 de noviembre.

Cambiar Spotlight

  • Las versiones de Springboot se han actualizado a 3.5.7

  • Contexto de Procesamiento

    • Obsoleto ProcessingContext Las claves de encabezado han sido eliminadas.

    • Obsoleto MessageHeaders.fromProcessingContext() y MessageHeaders.toProcessingContext() se han eliminado los métodos

    • Claves de encabezado de mensaje obsoletas uowId,requestId,processingEntity y associationId se eliminan a favor de las claves definidas en ContextPropagationSettings clase. Ver Notas de migración para obtener detalles adicionales.

  • La representación de flujos secuenciales y jerárquicos ahora se ha mejorado en el Dashboard (PAY-11543)

  • Netowl se ha actualizado a la versión 4.9.11.0 en Resolución de Identidad. Como resultado, Netowl proporciona diferentes puntuaciones de coincidencia en algunos casos en comparación con la versión anterior.

Arregle Spotlight

  • Ahora puede definir un receive connector que intenta correlacionar un mensaje con un flujo existente, de lo contrario, realiza la identificación y almacena el nuevo contexto de procesamiento en el servicio de correlación. (PAY-12881)

  • Persistente scheduler los trabajos ahora se ejecutan y se rehidratan después del apagado del nodo (PAY-15061)

Cambios Importantes

IPF JSON Inclusión de Serialización

Personalización de las inclusiones de serialización de IPF a través de akka.serialization.jackson.serialization-helper.serialization-inclusion=ALWAYS(El valor predeterminado es NON_NULL) ya no funciona. Para mantener este comportamiento, defina un custom módulo que configura la base subyacente ObjectMapper instancia, p. ej.

akka.serialization.jackson.serialization-helper {
  jackson-modules += "com.foo.bar.JsonIncludeOverrideModule"
}
public final class JsonIncludeOverrideModule extends SimpleModule {

    @Override
    public void setupModule(final SetupContext context) {
        super.setupModule(context);
        final ObjectMapper objectMapper = context.getOwner();
        objectMapper.setSerializationInclusion(JsonInclude.Include.ALWAYS);
    }
}

Creación del Índice de Correlación

Propiedades de creación del índice de correlación del conector renombradas:

  • ipf.correlation.index-creation.enabled to ipf.connector.correlation.create-indexes

  • ipf.connector.correlation-timestamp-field-name to ipf.connector.correlation.timestamp-field-name

  • ipf.connector.correlation-expiry to ipf.connector.correlation.time-to-live

  • Por favor, consulte la documentación del conector para más detalles.

Persistent Scheduler Comandos de fallo

  • Los comandos de fallo tienen diferentes semánticas en la última versión de persistent scheduler.

  • En versiones anteriores de persistent scheduler, una tarea en segundo plano estaba consultando periódicamente la base de datos en busca de trabajos cuyas ejecuciones no fueron triggered a tiempo; cuando se encontró tal trabajo, su ejecución actual se marcó como fallida, y su comando de fallo (si está configurado) fue triggered.

Procesador de Entradas de Pago (anteriormente Liberador de Pagos)

Se realizaron los siguientes cambios para que el Procesador de Entradas de Pagos pueda hacer coincidir los pagos almacenados con los suministrados.ProcessingEntity:

  • Open APIespecificación actualizada, generando actualizada Java interfaces:

    • Cuerpo de la solicitud para ambos POST /api/v1/payment-releaser/instruction/{instructionUnitOfWorkID}/release y POST /api/v1/payment-releaser/transaction/{transactionUnitOfWorkId}/release HTTP los endpoints han cambiado para permitir ProcessingEntity--

  • Interfaces de Java implementadas por el PaymentReleaserController actualizado (generado a partir del actualizado OpenAPI especificación):

    • el prepareReleaseInstruction el método toma Mono<PrepareReleaseInstructionRequest> como argumento

    • el releaseInstruction y releaseTransaction métodos ya no toman Mono<SupportingContext> como argumento

    • the releaseInstruction y releaseTransaction métodos toman Mono<ReleaseRequest> como un argumento de método

  • ExecutionInfo java objeto (devuelto por processInstruction y processTransaction métodos en el PaymentEntriesProcessor la interfaz) ha sido refactorizada:

    • introducción de PaymentHandlingInfo paymentHandlingInfo campo

    • movimiento del ProcessingActionType actionType y SupportingContext supportingData campos de ExecutionInfo objeto en PaymentHandlingInfo objeto.

    • adición de ProcessingEntity processingEntity campo a PaymentHandlingInfo objeto.

  • PaymentDataSource se actualizaron las firmas de métodos de la interfaz java:

    • el getPaymentInitiation,getPaymentInstruction,getPaymentTransactions y getPaymentTransaction métodos todos requerían un (nullable)ProcessingEntity argumento del método

Contexto de Procesamiento

  • Claves de encabezado de mensaje en desuso uowId,requestId,processingEntity y associationId se eliminan a favor de las claves definidas en ContextPropagationSettings clase. Ver Notas de migración para obtener detalles adicionales.

Otros cambios

Por favor, consulte las páginas individuales de esta versión para cualquier cambio importante en componentes específicos para más detalles, así como aquellos cambios que no se cubren aquí.

Advertencia Anticipada de API Eliminación

Consulta de Transacciones API

A partir de 2025.4.0 Consulta de Transacciones API ya no será compatible y será eliminado del SDK de IPF.

El uso de este API ha sido desalentado desde la introducción de ODS API, y la última versión estable de ODS Inquiry API debe ser utilizado en su lugar.

Detalles de la versión

Binarios

Los binarios principales están disponibles en IPF-Liberaciones.

Los binarios de Lightbend Telemetry (anteriormente conocido como "Cinnamon") están disponibles en IPF Lightbend.

Akka/Alpakka los binarios a partir de 2.9.x ya no están en Maven Central y están disponibles desde el Akka Biblioteca Repositorio que Espejo de íconos.

Para habilitar el nuevo espejo, añada lo siguiente a su settings.xml en el <repositories> sección:

<repository>
  <id>akka-repository</id>
  <name>Akka library repository</name>
  <url>https://nexus.ipf.iconsolutions.com/repository/akka-repository</url>
</repository>

Algunos MPS las dependencias también son reflejadas por Icon y se puede encontrar añadiendo el siguiente repositorio a la misma sección:

<repository>
  <id>icon-thirdparty</id>
  <name>IPF icon-thirdparty repository</name>
  <url>https://nexus.ipf.iconsolutions.com/repository/icon-thirdparty</url>
</repository>

Agregue lo siguiente a su <servers> sección para cada nuevo repositorio:

<server>
  <id>Repository_name_here</id>
  <username>xxxx</username>
  <password>xxxx</password>
</server>

Dónde xxxx es el nombre de usuario y la contraseña proporcionados a usted por Icon.

Aplicación para Desarrolladores

La última versión de la Aplicación para Desarrolladores es 2.4.29

Scaffolder

La última versión de la Scaffolder es 2025.3.0

2025.3.0 Lista de Jars/Poms

Los Jars y Poms para 2025.1.0 y las versiones asociadas se enumeran aquí:2025-3-artifacts.xlsx

Lista de Dependencias 2025.3.0

Las dependencias de terceros y sus versiones actuales están listadas.aquí