Chapter 2. Camel Extensions for Quarkus release notes

2.1. Camel Extensions for Quarkus features

Fast startup and low RSS memory
Using the optimized build-time and ahead-of-time (AOT) compilation features of Quarkus, your Camel application can be pre-configured at build time resulting in fast startup times.
Application generator
Use the Quarkus application generator to bootstrap your application and discover its extension ecosystem.
Highly configurable

All of the important aspects of a Camel Extensions for Quarkus application can be set up programmatically with CDI (Contexts and Dependency Injection) or via configuration properties. By default, a CamelContext is configured and automatically started for you.

Check out the Configuring your Quarkus applications guide for more information on the different ways to bootstrap and configure an application.

Integrates with existing Quarkus extensions
Camel Extensions for Quarkus provides extensions for libraries and frameworks that are used by some Camel components which inherit native support and configuration options.

2.2. Supported platforms, configurations, databases, and extensions

  • For information about supported platforms, configurations, and databases in Camel Extensions for Quarkus version 2.2, see the Supported Configuration page on the Customer Portal (login required).
  • For a list of Red Hat Camel Extensions for Quarkus extensions and the Red Hat support level for each extension, see the Extensions Overview chapter of the Camel Extensions for Quarkus Reference (login required).

2.3. Technology preview extensions

Red Hat does not provide support for Technology Preview components provided with this release of Camel Extensions for Quarkus. Items designated as Technology Preview in the Extensions Overview chapter of the Camel Extensions for Quarkus Reference have limited supportability, as defined by the Technology Preview Features Support Scope.

2.4. Known issues

CAMEL-17158 AWS2 SQS When sending messages to a queue that has delay, the delay is not respected

If you create a queue with a delay, the messages sent using the camel-aws2-sqs component as a producer do not respect the delay that has been set for the queue.

The reason for this behavior is that Camel sets '0s' as the default delay when sending messages that override the queue settings.

As a workaround, you should set the same delay settings when using the Camel producer. For example, if you create a queue with a 5s delay, you should also set a 5s delay when using the camel-aws2-sqs producer.

ENTESB-17763 Missing productised transitive deps of camel-quarkus-jira extensions
Applications using the camel-quarkus-jira extension require an additional Maven repository https://packages.atlassian.com/maven-external/ to be configured either in the Maven settings.xml file or in the pom.xml file of the application project.
ENTESB-18306 Missing productized netty-transport-native-epoll:jar:linux-aarch_64 in NSQ, HDFS and Spark.

The reason for this behavior is that the native epoll libraries are not included in the camel-quarkus-2.2.1-product build. However, as these libraries are not required for NSQ, HDFS or Spark components, the recommended workaround is to exclude netty-all from your applications and include quarkus-netty as a dependency.

For example, you can update your application’s pom.xml for the hdfs component as follows:

<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-hdfs</artifactId>
    <exclusions>
        <exclusion>
            <groupId>io.netty</groupId>
            <artifactId>netty-all</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>io.quarkus</groupId>
    <artifactId>quarkus-netty</artifactId>
</dependency>

2.5. Important notes

Camel upgraded from version 3.11.1 to version 3.11.5

Camel Extensions for Quarkus version 2.2.1 has been upgraded from Camel version 3.11.1 to Camel version 3.11.5. For additional information about each intervening Camel patch release, please see the following:

CVE-2021-44228 log4j-core: Remote code execution in Log4j 2.x

In Camel Extensions for Quarkus version 2.2.1, the following artifacts are no longer managed as the Camel Extensions for Quarkus extensions do not depend on these artifacts:

  • org.apache.logging.log4j:log4j-1.2-api
  • org.apache.logging.log4j:log4j-core
  • org.apache.logging.log4j:log4j-jcl
  • org.apache.logging.log4j:log4j-jul
  • org.apache.logging.log4j:log4j-slf4j-impl
  • org.apache.logging.log4j:log4j-web

    If your application adds a dependency for any of these artifacts, please make sure to use the latest version of Log4j 2.x to avoid any known CVEs related to versions before Log4j 2.17.1

Note

The quarkus-bom still manages org.apache.logging.log4j:log4j-api.

Change of minimum required Apache Maven version to 3.8.1
In this release of Camel Extensions for Quarkus version 2.2.1, the minimum version of Apache Maven required for compiling Red Hat build of Quarkus projects changes to 3.8.1. You must upgrade your installation of Apache Maven to version 3.8.1 to be able to compile projects based on Red Hat build of Quarkus 2.2. This upgrade is required because it addresses a security issue that can potentially make your Apache Maven builds vulnerable to man-in-the-middle attacks. For more information about this security vulnerability, see the entry about CVE-2021-26291 on the Red Hat Customer Portal.

2.6. Resolved issues

ENTESB-18560 JSONPath output in Native mode different from JVM mode

Registration for reflection of a class used by the JSONPath language was missing. In previous versions of Camel Extensions for Quarkus, the output of JSONPath expressions in Native mode was as follows:

{name=Jan, age=28}

In Camel Extensions for Quarkus version 2.2.1, this issue has been resolved and the output of JSONPath expressions in Native mode is now as follows:

{"name":"Jan","age":28}
ENTESB-18016 Quarkus Dev UI referring to community documentation instead of Red Hat product documentation
When running a project in Quarqus dev mode using mvn quarkus:dev, Quarkus provides the Dev UI via the endpoint /q/dev. This interface displays deployed extensions containing links to the relevant documentation pages. In previous versions of Camel Extensions for Quarkus, these links pointed to community extension pages. In this release, these links have been updated to point to Red Hat product documentation pages.
ENTESB-17855 geronimo-jms_*_spec* artifacts replaced by jakarta.jms artifacts
In this release, the org.apache.geronimo.specs:geronimo-jms_1.1_spec and org.apache.geronimo.specs:geronimo-jms_2.0_spec artifacts used in various JMS related extensions have been replaced by the newer and vendor neutral jakarta.jms:jakarta.jms-api equivalent.
ENTESB-17939 Replace javax.activation in favor of jakarta.activation
In this release, the com.sun.activation:javax.activation and javax.activation:activation artifacts used in various Camel Extensions for Quarkus extensions were replaced by the newer com.sun.activation:jakarta.activation equivalent.

2.7. Deprecated Camel Extensions for Quarkus features

Elasticsearch Rest extension
The camel-quarkus-elasticsearch-rest extension for Camel Extensions for Quarkus is deprecated in this release and scheduled for removal in a future release.

2.8. Additional resources