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.20 to 3.21
camel-core
XML parsers & XML transformers has been made more secure by disabling DOCTYPE and/or access to external DTD/Schema.
camel-console
The class org.apache.camel.impl.console.AbstractDevConsole
has moved from camel-console
to camel-support
and moved to package org.apache.camel.support.console.AbstractDevConsole
.
Component developers that has plugins for Camel Developer Console, should just use camel-support
and camel-util-json
as dependencies, and then extend AbstractDevConsole
for custom console implementations.
camel-main
The option camel.main.routesReloadRestartDuration
has changed its default value from true
to false
.
camel-jaxb
When using schema validation, then access to external DTD/Schema is disabled by default. To enable access, then set accessExternalSchemaProtocols=all
or specify allowed protocols, such as accessExternalSchemaProtocols=file
.
camel-stax
XML parser in StAXJAXBIteratorExpression
has been made more secure by disabling DOCTYPE and/or access to external DTD/Schema.
camel-cm-sms
XML parsers has been made more secure by disabling DOCTYPE and/or access to external DTD/Schema.
camel-schematron
XML parsers has been made more secure by disabling DOCTYPE and/or access to external DTD/Schema.
camel-xmlsecurity
XML parsers has been made more secure by disabling DOCTYPE and/or access to external DTD/Schema.
camel-spring-boot
The health-check has aligned to be more similar to microprofile-health in the JSon output. Spring Boot now also includes additional data per check, when using full exposure level.
For example as shown below for the context health check:
{
"status": "UP",
"components": {
"camelHealth": {
"status": "UP",
"details": {
"name": "camel-health-check",
"context": "UP",
"context.data": {
"invocation.count": "1",
"context.phase": "5",
"invocation.time": "2022-12-21T09:12:03.307871+01:00[Europe/Oslo]",
"check.group": "camel",
"context.name": "MyCamel",
"success.time": "2022-12-21T09:12:03.307871+01:00[Europe/Oslo]",
"success.count": "1",
"check.id": "context",
"context.version": "3.21.0",
"context.status": "Started",
"success.start.time": "2022-12-21T09:12:03.307871+01:00[Europe/Oslo]",
"check.kind": "READINESS",
"failure.count": "0"
}
}
}
}
}
camel-java-joor-dsl
The camel-java-joor-dsl
cannot anymore load routes defined in class files as we consider it no more needed, consequently the ability to configure the compile directory and the compile load first flag using the corresponding camel-main
properties is no longer possible.
camel-elasticsearch
The certificatePath
parameter can now be specified as resource: for user pointing to a local certificate, the file should be now prefixed with file:
. It’s also possible to use the classic resource helper prefixes, like classpath
, https
etc.