Apache Camel 3.x Upgrade Guide
This document is for helping you upgrade your Apache Camel application from Camel 3.x to 3.y. For example if you are upgrading Camel 3.0 to 3.2, then you should follow the guides from both 3.0 to 3.1 and 3.1 to 3.2.
Upgrading Camel 3.18 to 3.19
camel-api
Added addClassLoader method to org.apache.camel.spi.ClassResolver.
The default TLS protocol is changed from TLSv1.2 to TLSv1.3 in Camel JSSE support.
camel-management
The context MBean (ManagedCamelContextMBean) total counter is changed to count only once while an exchange is being routed through multiple routes. Previously the counter was a total aggregation of all the routes the exchange was processed. For example if an exchange is routed via A, B and C; then previously the total counter was +3 (+1 for route A, +1 for route B, +1 for route C). This is now corrected so the total is +1 on the context MBean.
camel-kafka
Updated the documentation to reflect the default TLS protocol in Kafka Clients running on JDK11+ is TLSv1.2,TLSv1.3 (prefer v1.3 but can fall back to v1.2).
camel-netty / camel-netty-http
The default TLS protocol is changed from TLSv1,TLSv1.1,TLSv1.2 to TLSv1.2,TLSv1.3.
camel-yaml-dsl
Removed using template as a custom alias for routeTemplate or route-template.
Removed the tod custom alias for toD or to-d.
A route template can now also define a route which allows specifying route options that otherwise is not possible when using from.
For example, you can now disable stream-caching, as shown in the snippet below that are from a Kamelet:
spec:
template:
route:
stream-caching: false
message-history: true
from:
uri: timer:tick
parameters:
period: "{{period}}"
steps:
- set-body:
constant: "{{message}}"
- set-header:
name: "Content-Type"
constant: "{{contentType}}"
- to: kamelet:sink camel-salesforce
The URI format for consumer operations has changed. All consumer URIs now use the subscribe operation. E.g., salesforce:subscribe:<topic_name>, salesforce:subscribe:event/<event_name>, salesforce:subscribe:data/ChangeEvents.
camel-consul
The deprecated options were removed and should be replaced by the following options:
| Deprecated | Replace with |
|---|---|
|
|
|
|
|
|
camel-google-bigquery-sql
Parameters in form of @name are extracted from the body or message and their type is preserved and translated into corresponding com.google.cloud.bigquery.StandardSQLTypeName. See the documentation for more information. (Conversion to StandardSQLTypeName.STRING was used for each type before)
camel-telegram
The component was migrated from the Async HTTP Client to the builtin HTTP client from Java 11 and newer. As such, * the parameter clientConfig, that received an AsyncHTTPClientConfiguration instance was removed * the parameter client, that received an AsyncHttpClient instance, was modified to receive a HTTPClient instance.
xtokenize language
The xtokenize language has moved from camel-xml-jaxp to camel-stax JAR because a stax parser was needed anyway to use the language.