IntegrationManager 3.0.0


This document summarizes major improvements and fixes introduced in the Pricefx IntegrationManager release version.

Release date

Mar 29, 2022


In this section:

Migration Steps

pricefx-client Updated

  • Pricefx client, as a dependency of IM, has been been upgraded to version 2.0.0 due to the necessary upgrade of Swagger-codegen library and other related libraries.

For that reason, all generated classes in the Pricefx client are placed into the package net.pricefx.integration.api instead of io.swagger.client.

If you use these classes directly, please check whether you use the right import net.pricefx.integration.api.

pricefx-api Method Names Changed

  • Pricefx Swagger definiton (https://shared-qa.qa1.pricefx.com/pricefx/system/api) was changed and this translated to lot of changes in method names in this API which transfers to IM directly. If you use bean methods to call certain Pricefx API and your code does not compile, you need to update the API method names. For example:Instead of   priceFxClient.getDatamartApi().massedit(...) use  priceFxClient.getDatamartApi().datamartMasseditTypeid(...) Instead of  FcResponse response = priceFxClient.getDatamartApi().getfcs("DMDS", fetchRequest); var dmdsTypedId = response.getResponse().getData().get(0).getTypedId(); use FcResponse response = priceFxClient.getDatamartApi().getfcs("DMDS", fetchRequest); var dmdsTypedId = response.getFcResponseResponse().getFcResponseContentData().get(0).getTypedId()


Package Changes

  • Several classes have changed their location:

    Class name

    Old package

    New package

    Mapper

    net.pricefx.integration.mapper

    net.pricefx.integration.api.mapper

    Converter

    net.pricefx.integration.mapper.converter

    net.pricefx.integration.api.converter

    ConverterException

    net.pricefx.integration.mapper.converter

    net.pricefx.integration.api.converter

    ConverterExpression

    net.pricefx.integration.mapper.converter

    net.pricefx.integration.api.converter

    If you use such classes in camel-context.xml, you need to change the package.

PricefxClient Connection Rewritten

  • net.pricefx.integration.api.client.PriceFxClient class has been migrated into net.pricefx.integration.component.rest.domain.connection.PriceFxConnection.

  • This change was necessary to separate circular dependency in Maven projects. The new solution includes the original client into the new connection.

  • Migration guide:Manual instances' original connection: <bean id="my-pricefx" class="net.pricefx.integration.api.client.PriceFxClient"> <property name="username" value="aaa"/> <property name="password" value="aaa"/> <property name="partition" value="aaa"/> <property name="url" value="https://qa.pricefx.com/pricefx/"/> </bean> New connection definition: <bean id="my-pricefx" class="net.pricefx.integration.component.rest.domain.connection.PriceFxConnection"> <property name="username" value="aaa"/> <property name="password" value="aaa"/> <property name="partition" value="aaa"/> <property name="url" value="https://qa.pricefx.com/pricefx/"/> </bean>

  • Provisioned instances migration:Before you migrate to 3.0.0, you need to migrate all your PriceFxClient connections.Remove old connections of the type pricefx-client.Create new connections of the type pricefx-client with properties from the previous connection.

  • Please note that the connection provided by IM (via properties) is now also of the new type. If you reference it manually in camel-context.xml, you might need to use the property client.

Improvements

New Feature Description

ID

pfx-api documentation

has been extended with the 'Applicable to method' column.

PFIMCORE-945

There is a

new job

which informs about stuck events via email.
Default values for properties are:

  • integration.events.check-stuck-processing.enabled = true

  • integration.events.check-stuck-processing.scheduled-ms = 7 200 000 (2h)

  • integration.events.check-stuck-processing.timeout-duration = 24

  • integration.events.check-stuck-processing.timeout-unit = h

PFIMCORE-961

Created endpoint for validation of objects. Added validation to deploy of objects via REST API or httpclient.

PFIMCORE-1003

Created a new 'im-commons' library with utils from all IM microservices.

PFIMCORE-1004

There are httpClient methods for retrieval of extendend info for objects (routes, filters, connections, ...) - extendedInfo. The endpoint returns data from IM joined with Git data (content, revision, commitSha, etc.).

PFIMCORE-1005

Libraries such as Jersey, Apache HTTP Client etc. have been upgraded in the Pricefx client project.

PFIMCORE-1006

IM modules have been updated in order to use the new Pricefx client.

PFIMCORE-1007

Communication between Pricefx client and partition has been added for debug mode to the Pricefx client.

PFIMCORE-1014

Maven circular dependency has been removed. Created new library, 'im-commons' with standard utils. Removed 'integration-manager-common' module. Added 'integration-manager-api' module. Several APIs have changed their package and also several internal classes have been moved. Please read the migration steps.

PFIMCORE-1017

Fixed Issues

Bug Description

ID

Pricefx client has been updated to version 2.0.0 in which the problem with OOM was solved.

PFIMCORE-946

pfx-api:import cannot read Excel CSV.

PFIMCORE-980

It is not possible to store an object with special characters in the name.

PFIMCORE-1001

Cannot start IM when restdsl is used.

PFIMCORE-1011