红帽构建的 Apache Camel for Quarkus 发行注记


Red Hat build of Apache Camel 4.0

红帽构建的 Apache Camel 新功能

Red Hat build of Apache Camel Documentation Team

摘要

描述红帽构建的 Apache Camel 产品,并提供了有关本版本中新内容的最新详情。

1.1. Red Hat build of Apache Camel for Quarkus 功能

快速启动和低 RSS内存
使用 Quarkus 优化的构建时间和提前(AOT)编译功能,您的 Camel 应用程序可在构建时预先配置,从而导致启动时间。
应用程序生成器
使用 Quarkus 应用程序生成器 引导应用程序并发现其扩展生态系统。
高可配置

红帽构建的 Apache Camel for Quarkus 应用程序的所有重要方面均可以编程方式使用 CDI (Contexts 和 Dependency Injection)或使用配置属性来设置。默认情况下,配置 CamelContext 并为您自动启动。

如需有关 bootstrap 和 配置应用程序的不同方法的更多信息,请参阅使用属性文件配置 Quarkus 应用程序

与现有 Quarkus 扩展集成
红帽构建的 Apache Camel for Quarkus 为一些 Camel 组件使用的库和框架提供扩展,它们继承了原生支持和配置选项。

1.2. 支持的平台、配置、数据库和扩展

  • 有关红帽构建的 Apache Camel for Quarkus 版本 3.2 中支持的平台、配置和数据库的详情,请查看客户门户网站中的支持的配置页面(需要登录)。https://access.redhat.com/articles/6507531
  • 有关红帽构建的 Apache Camel for Quarkus 扩展列表以及每个扩展的红帽支持级别,请参阅 Red Hat build of Apache Camel for Quarkus Reference 中的 Extensions Overview 章节(需要登录)。
  • 要将红帽构建的 Apache Camel for Quarkus 版本 3.2 项目配置为使用支持的扩展,请使用来自 Redhat Maven Repository 的最新 Bill Of Materials (BOM)版本 3.2.10.Final-redhat-00002 或更新版本。

有关 BOM 依赖项管理的更多信息,请参阅使用红帽构建的 Apache Camel for Quarkus 开发应用程序

1.4. 技术预览扩展

Red Hat build of Apache Camel for Quarkus Reference 的 Extensions Overview 章节中,指定为技术预览的项目有有限的支持性,如技术预览功能支持范围所定义。

1.5. 已知问题

1.5.1. SAP 扩展 Camel Quarkus 限制

SAP 扩展不支持打包类型 uber-jar,这会导致应用程序抛出运行时异常,如下所示:

Caused by: java.lang.ExceptionInInitializerError: JCo initialization failed with java.lang.ExceptionInInitializerError: Illegal JCo archive "sap-1.0.0-SNAPSHOT-runner.jar". It is not allowed to rename or repackage the original archive "sapjco3.jar".
Copy to Clipboard Toggle word wrap

1.5.2. 仅 JVM 支持标签缺少

目前 ,http://code.quarkus.redhat.com 不会列出以下扩展的正确支持信息:

Expand
扩展工件JVM 支持级别原生支持级别描述

Azure-servicebus

camel-quarkus-azure-servicebus

技术预览

None

向 Azure 服务总线发送和接收信息。

SAP

camel-quarkus-sap

产品支持

None

提供 SAP Camel 组件。

SNMP

camel-quarkus-snmp

产品支持

None

接收陷阱和轮询 SNMP (简单网络管理协议)功能的设备。

1.5.3. 其他已知问题

CEQ-6085 支持扩展: camel-quarkus-micrometer

如果您要从 smallrye-metrics 迁移到 micrometer,您可能需要手动将一些 Bean 定义为有范围。

smallrye-metrics 中,为指标注册的类(例如,@COUNTED@METRIC),但不注册为有范围 Bean。这不会在 微主题中发生

主题中,您需要手动注册通过 CDI 访问的 Bean,例如添加 @Dependent 注解。

CEQ-5705 Camel-quarkus-snmp 不支持原生
在红帽构建的 Apache Camel for Quarkus 中,我们仅在 JVM 模式中支持 camel-quarkus-snmp 组件。

1.6. 已知的 CXF 问题

这个版本还有 CXF 的问题。

1.6.1. 支持的扩展

目前,只支持 这些 quarkus-cxf 扩展:

隐式,作为 camel-quarkus-cxf-soap 的传输依赖项:

  • quarkus-cxf
  • quarkus-cxf-rt-features-logging

另外,如果您需要 WS-Security 或其他相关功能,您可以添加以下支持的扩展:

  • quarkus-cxf-rt-ws-security
  • quarkus-cxf-services-sts
  • quarkus-cxf-xjc-plugins
1.6.1.1. WS-ReliableMessaging

对 CXF WS-ReliableMessaging 当前还不支持,它仍然在版本 3.2 中处于技术预览阶段。

如果您的 CXF 客户端使用 java.net.http.HttpClient 作为底层 HTTP 客户端,那么如果创建了许多客户端,应用可能会崩溃,因为线程不会终止。https://issues.apache.org/jira/browse/CXF-8885

当重复创建 CXF 客户端时,这个问题会出现在 java.net.http.HttpClient 中,例如每个请求。如果您在应用的整个生命周期内保持客户端,则不会出现这个问题。

从 Apache Camel for Quarkus 3.2.0 和 Quarkus CXF 2.2.3 开始,某些特定 CXF 客户端的 HTTP 客户端实现选择通过 quarkus.cxf.client.yourClient.http-conduit-factory 属性控制。默认情况下,由 Quarkus CXF 创建的 CXF 客户端使用 java.net.HttpURLConnection 作为 HTTP 客户端,因此默认不会出现这个问题。如果您设置了 quarkus.cxf.client.yourClient.http-conduit-factory=HttpClientHTTPConduitFactory,则可能会出现此问题。

1.6.2.1. DoS 向量的缓解方案
  • 如果您绝对确保客户端仅在应用的生命周期内创建一次,则只使用 java.net.http.HttpClient支持的 CXF 客户端。
  • 使用由不同 HTTP 客户端实现(如 HC5 或 java.net.HttpURLConnection )支持的 CXF 客户端。

1.7. 重要备注

1.7.1. javax 到 jakarta 软件包命名空间更改

Java EE 移至 Eclipse Foundation 和 Jakarta EE 的建立,因为用于所有 EE API 的 Jakarta EE 9 软件包已改为 jakartaGalaxy

文档中的代码片段已更新为使用 jakarta prerequisites 命名空间,但您需要注意和查看您自己的应用程序。

注意

这个更改不会影响作为 Java SE 一部分的 javax 软件包。

将应用程序迁移到 EE 10 时,您需要:

  • javax 软件包中的 EE API 类的任何导入声明或其他源代码使用到 jakarta
  • 更改任何 EE 指定的系统属性或其他配置属性,其名称以 javax 开始。jakarta 开始。
  • 使用 META-INF/services/jakarta.[rest_of_name] 名称格式来识别使用实现 EE 接口或以 java.util.ServiceLoader 机制引导的应用程序中的实施类。
1.7.1.1. 迁移工具

1.7.2. Java

最小 Java 版本 - JDK 17
红帽构建的 Apache Camel for Quarkus 版本 3.2 需要 JDK 17 或更新版本。
支持 AdoptiumJDK
红帽构建的 Apache Camel for Quarkus 版本 3.2 包括对 AdoptiumJDK 17 的支持。

1.7.3. 升级

Camel Quarkus 从 2.7 升级到 2.13 版本

Red Hat build of Apache Camel for Quarkus 版本 3.2 已从 Camel Quarkus 版本 2.13 升级到 Camel Quarkus 版本 3.2。有关每个 intervening Camel Quarkus 补丁发行版本的详情,请参考:

1.8. 已解决的问题

下表列出了影响红帽构建的 Apache Camel for Quarkus 的已知问题,这些问题已在 Red Hat build of Apache Camel for Quarkus 版本 3.2 中解决。

已解决的问题

CEQ-7591
quarkus CXF:因为默认块大小低传输大量响应
CEQ-7086
CEQ 入门指南不会告知用户要配置哪些 Maven 存储库
CEQ-6604
使用 camel-cxf-soap 命名空间更改更新 CEQ 迁移说明
CEQ-6217
如果在路由模板之前处理模板,则模板路由会失败
CEQ-6263
OpenTelemetry 跟踪没有按顺序生成
CEQ-6203
在 OpenShift 上带有 CXF 的 CQ 需要 quarkus.cxf.path 属性
CEQ-4878
JMS 组件连接池(通用客户端,完全支持)
CEQ-1203
平台支持:KNative/Serverless 部署

1.8.1. 之前的版本

有关 Camel Quarkus 2.13 和 Camel Quarkus 3.2 之间解决问题的详情,请查看每个补丁发行版本的发行注记。???

红帽构建的 Apache Camel for Quarkus 版本 Red Hat build of Apache Camel for Quarkus 没有已弃用的功能。

下表列出了此红帽构建的 Apache Camel for Quarkus 版本 Red Hat build of Apache Camel for Quarkus 的扩展。

Expand
表 1.1. 删除的扩展
扩展工件描述备注

MicroProfile Metrics

camel-quarkus-microprofile-metrics

从 Camel 路由公开指标。

 

下表列出了此红帽构建的 Apache Camel for Quarkus 版本 Red Hat build of Apache Camel for Quarkus 的扩展。

Expand
表 1.2. 添加了扩展
扩展工件描述备注

AMQP

camel-quarkus-amqp

使用 Apache QPid 客户端与 AMQP 协议进行消息传递.

 

Azure-servicebus

camel-quarkus-azure-servicebus

向 Azure 服务总线发送和接收信息。

 

CLI-connector

camel-quarkus-cli-connector

使用 Camel CLI 连接的运行时适配器

 

crypto

camel—​quarkus-crypto

使用 Java Cryptographic 扩展(JCE)的签名服务签名并验证交换。

 

GRPC

camel-quarkus-grpc

公开 gRPC 端点并访问外部 gRPC 端点。

 

JDBC

camel-quarkus-jdbc

  

语言

camel-quarkus-language

  

LDAP

camel-quarkus-ldap

在 LDAP 服务器上执行搜索。

 

管理

camel-quarkus-management

JMX 管理策略和相关管理资源。

 

Mapstruct

camel-quarkus-mapstruct

使用 Mapstruct 的 type Conversion

 

Micrometer

camel-quarkus-micrometer

使用 Micrometer 库直接从 Camel 路由收集各种指标。

 

minio

camel-quarkus-minio

使用 Minio SDK 从 Minio Storage Service 存储和检索对象。

 

Mybatis

camel-quarkus-mybatis

使用 MyBatis 在相关数据库中执行查询、轮询、插入、更新或删除。

 

netty-http

camel-quarkus-netty-http

使用 Netty 4.x 的 Netty HTTP 服务器和客户端。

 

SAP

camel-quarkus-sap

提供 SAP Camel 组件。

 

saxon

camel-quarkus-saxon

使用 XQuery 和 Saxon 查询和/或转换 XML 有效负载。

 

Splunk

camel-quarkus-splunk

在 Splunk 中发布或搜索事件。

 

Vertx-http

camel-quarkus-vertx-http

  

Vertx-websocket

camel-quarkus-vertx-websocket

带有 Vert.x 的 Camel WebSocket 支持

 

XSLT-Saxon

camel-quarkus-xslt-saxon

使用 Saxon 的 XSLT 模板转换 XML 有效负载。

 

下表列出了在此 Red Hat build of Apache Camel for Quarkus 版本 Red Hat build of Apache Camel for Quarkus 版本中更改了支持级别的扩展。

Expand
表 1.3. 带有更改支持的扩展
扩展工件描述备注

AWS2-CW

camel-quarkus-aws2-cw

使用 AWS SDK 版本 2.x 将指标发送到 AWS CloudWatch。

 

CXF-soap

camel-quarkus-cxf-soap

使用 Apache CXF 公开 SOAP WebServices 或使用 CXF WS 客户端连接到外部 WebServices。

 

telegram

camel-quarkus-telegram

发送和接收充当 Telegram Botram Bot API 的消息。

 

XML IO DSL

camel-quarkus-xslt-saxon

用于解析 XML 路由定义的 XML 堆栈。

 

yaml-dsl

camel-quarkus-yaml-dsl

用于解析 YAML 路由定义的 YAML 堆栈

 
注意

有关支持级别的详情,请参考 Red Hat build of Apache Camel for Quarkus 参考

下表列出了在此 Red Hat build of Apache Camel for Quarkus 版本 3.2 中添加的数据格式。

Expand
表 1.4. 添加了数据格式
扩展工件描述

JAXP

camel-quarkus-jaxp

XML JAXP 类型转换器和解析器

法律通告

Copyright © 2024 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat