Dieser Inhalt ist in der von Ihnen ausgewählten Sprache nicht verfügbar.
Chapter 7. Camel Migration Issues
7.1. Camel 2.21 Migration Issues Link kopierenLink in die Zwischenablage kopiert!
Fuse 7.0 uses Camel 2.21. This section covers the changes in Camel 2.21 that are to be considered before upgrading to Fuse 7.0.
The changes to Camel 2.21 that must be considered before upgrading:
-
Jetty has been upgraded to version 9.4 by default and
camel-jettyneeds version 9.3 or 9.4 to run in OSGi. -
The component
camel-saxonis used to create theSaxonXpathFactoryclass is from Saxon. In absence ofcamel-saxonthe factory method is created as per the old way. -
The
camel-json-validatorcomponent uses theNetworkNTJSonSchema validator library instead ofEverit.Everithad ASF license implications and will be removed from future Camel releases. TheNetworkNTsupports v4 draft ofJSonSchema for validation so update your schemas to use the draft version. -
The
FileIdempotentRepositoryis updated to use the internal in-memory cache for quick lookup of the most frequent file names, and for lookup from disk. See the class javadoc of the file for more details. - The Karaf commands for routes are changed so the arguments for the camel context is placed first, and the route id is the second argument. This allows the route completer to use the selected camel context name to only show route ids from that camel context else it shows all the routes for every Camel application running in Karaf.
-
The
camel-spring-bootactuator endpoints for routes are now in read-only mode by default. The operations tostart,stop,suspend, `resume routesis forbidden. You can turn off read-only mode by setting the spring boot configurationendpoints.camelroutes.read-only = false.
7.2. Camel 2.20 Migration Issues Link kopierenLink in die Zwischenablage kopiert!
This section covers the changes in Camel 2.20 that are to be considered before upgrading to Fuse 7.0.
The changes to Camel 2.20 that must be considered before upgrading:
- The Maven version 3.3.3 or higher is required to build the project.
-
The
camel-dropboxis upgraded to v2 api. There can be backward compatibility issues becuase of the V2 upgrade. -
In the
camel-infinispanthe result is not set in theCamelInfinispanOperationResultheader but in the in body. To change this behavior you can set the headerCamelInfinispanOperationResultHeaderwith the name of the header that contains the result or with theresultHeaderURI option. -
The
camel-infinispanURI option command has been deprecated and replaced by operation for consistency purposes. -
In
camel-infinispancommands are changed to use the short form such as PUT, GET. The old operation namesCamelInfinispanOperationPutandCamelInfinispanOperationGethave been deprecated. -
In
camel-undertowthematchOnUriPrefixoption, the default value is set to FALSE to make it consistent with other components such as, Camel HTTP components. -
The Twitter components are split into four types,
directmessage,search,streamingandtimelineand has its own endpoint and scheme. -
The
RuntimeEndpointRegistryis no longer in extended mode by default. To use extended mode, set the management statistics level toExtendedexplicitly. -
There is no
RuntimeEndpointRegistryin use by default. You need to explicitly configure a registry to be used, or turn it on using the management agent, or set the statistics level to extended mode. -
Camel with Spring XML routes do not register endpoints in the Spring registry from Camel routes where <from> or <to> have endpoints assigned with an explicit id attribute. The option
registerEndpointIdsFromRoutecan be set to true on<camelContext>for backward compatibility. But this registration is deprecated and instead you should use<endpoint>to register Camel endpoints with id’s in Spring registry. -
The
camel-spring-dmhas been removed. For XML DSL with OSGi usecamel-blueprint.
If you must use camel-spring-dm for Fuse 7.0, please see the Knowledge Base Article: How to run Spring-DM based applications on Fuse 7?.
-
Copying streams in IOHelper from
came-corenow regard EOL of data if the first read byte is zero. This change is a work around for issues on application servers such as IBM WebSphere. The setting can be turned off by configuring JVM system property"camel.zeroByteEOLEnabled=false". -
The
camel-jmscomponent is based on the JMS 2.0 API (geronimo-jms_2.0_spec) instead of JMS 1.1 API (geronimo-jms_1.1_spec). Butcamel-jmsworks at runtime with both JMS 1.1 or 2.0. -
The
camel-kurais upgraded to newer OSGi API version. -
The
camel-stompuses the destination without replacing all slash characters with colon. -
The
camel-igniteis updated to use Ignite version 2.2.x . -
The
camel-dozerhas been upgraded from Dozer v5 to v6 which requires migration. See, Dozer migration guides https://dozermapper.github.io/gitbook/migration/v5-to-v6.html and https://dozermapper.github.io/gitbook/migration/v6-to-v61.html
7.3. Camel 2.19 Migration Issues Link kopierenLink in die Zwischenablage kopiert!
There are a number of changes in Camel 2.19 that have to be considered before upgrading to Fuse 7.0.
There are known issues that can break the API.
-
The groovy DSL from
camel-groovyhas been moved tocamel-groovy-dslmodule. The camel-groovy contains only the Camel Groovy Language. -
The
Camel-spring-LDAPusesjava.util.function.BiFunction<L, Q, S>instead oforg.apache.camel.component.springldap.LdapOperationsFunction<Q, S>. -
The deprecated APIs from
camel-spring-boothas been removed to upgrade and support Spring Boot 1.5.x . -
The
camel-mongodb-gridfschema is renamed tomongodb-gridfs. -
The
commands-coreCatalog commands have been removed. -
The
org.apache.camel.spring.boot.FatJarRouteris removed so you use the regularRouteBuilderclasses in Spring Boot applications. -
The Kafka endpoint option
seekToBeginning=trueshould be migrated toseekTo=beginning. -
The Kafka endpoint option
bridgeEndpointhas moved from endpoint to theKafkaConfigurationclass. -
The Kafka component is now easier to configure and use. There is a backwards incompatible change so users need to migrate. The kafka URI is changed from
kafka:brokerstokafka:topic. So you need to specify the topic name in thecontext-pathand the brokers as parameters, for example, the old syntax waskafka:myserver?topic=sometopicwhich is changed tokafka:sometopic?brokers=myserver. -
The Infinispan URI syntax has changed from
infinispan:hostName?optionstoinfinispan:cacheName?options.
There are changes to Camel 2.19 that must be considered before upgrading:
-
The
camel-spring-dmhas been disabled from the Karaf features file so users cannot install it out of the box, it is also deprecated and users are encouraged to use OSGi Blueprint instead. The JAR is still shipped and can be installed manually but it there is no support avaiable. The JAR will be removed completed in a future release.
If you must use camel-spring-dm for Fuse 7.0, please see the Knowledge Base Article: How to run Spring-DM based applications on Fuse 7?.
-
The
Groovy DSLandScala DSLis deprecated and will be moved toCamel Extraand not distributed out of the box in the future. - Camel now uses Karaf 4.x API and therefore not possible to run on older Karaf versions.
-
The
camel-blueprintchanged startup behavior to start onBlueprint.CREATEDevent which is more appropriate way of startup instead ofBlueprint.REGISTEREDas was used previously. -
The
camel-spring-bootdoes not include prototype scoped beans when auto scanning for RouteBuilder instances, which is howcamel-springworks. You can revert back using theincludeNonSingletonsoption. -
The
camel-spring-javaconfigremoved from Karaf features as it was not supported in OSGi/Karaf. -
The
camel spring-bootshell commands have been removed asspring-bootshell has been deprecated inspring-boot. -
The
camel-boxhas been migrated to use box v2 api so there may be some migration needed as the oldcamel-boxcomponent was using box v1 api. -
The
JSonschema fromcamel-cataloghave changed to use boolean, integer and numeric values when applicable instead of using string values. -
The
camel-catalogKaraf commands has been removed.