IntegrationManager 2.0.0
In this section:
Migration Steps
Camel has been upgraded from version 3.5 to 3.11. For full upgrade guide, please read https://camel.apache.org/manual/latest/camel-3x-upgrade-guide.html.
Below is a list of breaking changes in IM, identified in testing:
- [Camel 3.6.0] Expressions need to be initialized explicitly (see https://camel.apache.org/manual/latest/camel-3x-upgrade-guide-3_6.html#_expressions).
- Example change for class
net.pricefx.integration.util.ExpressionUtils
:
Before | After |
---|---|
p | public static Object getExpressionValue(String language, String expression, Object body, Exchange exchange) { Exchange temporaryExchange = getTemporaryExchange(body, exchange); |
- [Camel 3.8.0] "Synchronous" option has been removed from general endpoint (see https://issues.apache.org/jira/browse/CAMEL-16020).
- Example change for class
net.pricefx.integration.util.ComponentUtils:
Before | After |
---|---|
|
|
- [Camel 3.9.0] The method
getProperties()
now only returns user properties. To include internal properties as well, usegetAllProperties()
(see https://camel.apache.org/manual/latest/camel-3x-upgrade-guide-3_9.html#_exchange_properties). - Example change for class
net.pricefx.integration.audit.types.DefaultAuditTypeCommand:
Before | After |
---|---|
| public Map setMetadata(Exchange exchange) { Map metadata = new HashMap(); |
- [Camel 3.11] Aggregate uses a new thread, even if not in the parallel mode. If executorService is not set to synchronous, the calling route will continue to run before aggregate finishes, which may result in error if calling route relies on aggregate result (see https://camel.apache.org/manual/latest/camel-3x-upgrade-guide-3_11.html#_aggregate_eip).
- Example change for class
net.pricefx.integration.route.ListToXmlRoute:
Before | After |
---|---|
|
|
- [Spring Boot 2.4] You need to specify parameter
spring.config.import
in properties. It is mandatory to specify it, please usespring.config.import=optional:configserver:
if you don't want to make use of this feature (see https://spring.io/blog/2020/08/14/config-file-processing-in-spring-boot-2-4).
Improvements
New Feature Description | ID |
---|---|
Joda is no longer allowed in Groovy scripts. Use java.time libraries instead. | PFIMCORE-710 |
Dataload route updated - the input will be read only once. | PFIMCORE-739 |
Added charset detection to dataload and components (pfx-validator, pfx-marshal, pfx-unmarshal). | PFIMCORE-767 |
Import V2 has been enabled for production dataloads. | PFIMCORE-787 |
There is a new endpoint POST /api/mappers/test-connection and HTTP client method testMapper(TestMapperRequest) which accept the input data and mapper specification and provide mapper result. | PFIMCORE-802 |
Archetype for provisioned instances has been added. Added methods to manage instance in the HTTP client. Added V3 API. Refactored repository – added GIT implementation, refactored + renamed properties. | PFIMCORE-815 |
IM can now run on Java 16. Also migrated several libraries: Spring Boot to 2.4.0, Groovy to 2.0, Camel to 3.11, Spock to 2.0. | PFIMCORE-829 |
Fixed Issues
Bug Description | ID |
---|---|
Aggregation progress (batches) using 'recordsCountAggregation' is sending progress in all usages, not only dataloads. | PFIMCORE-841 |
IntegrationManager version 5.8.0