Red Hat build of Apache Camel for Spring Boot 发行注记


Red Hat build of Apache Camel 4.10

红帽构建的 Apache Camel 新功能

Red Hat build of Apache Camel Documentation Team

摘要

描述红帽构建的 Apache Camel 产品,并提供此发行版本中新功能的最新详情。

Red Hat build of Apache Camel for Spring Boot 引入了对 Spring Boot 的 Camel 支持,它为许多 Camel 组件提供自动配置和开始者。Camel 上下文的推荐自动配置会自动探测 Spring 上下文中可用的 Camel 路由,并将密钥 Camel 实用程序(如生成者模板、消费者模板和类型转换器)注册为 Bean。

1.3. javax 到 jakarta Package Namespace Change

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

文档中的代码片段已更新为使用 jakarta 输入命名空间,但您需要小心操作并查看您自己的应用程序。

注意

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

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

  • 将任何导入语句或其他源代码使用来自 javax 软件包中的 EE API 类更新到 jakarta
  • 更改任何以 javax. 开头的 EE 指定的系统属性或其他配置属性,使其以 jakarta 开头。
  • 使用 META-INF/services/jakarta.[rest_of_name] 名称格式来识别使用实施 EE 接口或通过 java.util.ServiceLoader 机制引导的应用程序中的实施类。

1.3.1. 迁移工具

1.4.1. 支持 IBM Power 和 IBM Z

IBM Power 和 IBM Z 现在支持 Red Hat build of Camel Spring Boot。

1.4.2. 对 snowdrop groupId 的更改

snowdrop groupId 从 me.snowdrop 改为 dev.snowdrop。您必须相应地更新 pom.xml 文件。

要使用 自动 Camel 上下文重新加载 Secret Refresh 功能,必须通过 UI 或使用 opereation PutSecretValue 的 API 调用来完成 secret 更新。camel context reload 不会被通过 Camel 执行 updateSecret 触发。

以下小节列出了在 Red Hat build of Apache Camel for Spring Boot 中解决的问题。

以下小节列出了在 Red Hat build of Apache Camel for Spring Boot 4.10.7 中解决的问题。

Expand
表 1.1. Red Hat build of Apache Camel for Spring Boot 版本 4.10.7 解决的问题
问题描述

CSB-7724

CVE-2025-58056 netty-codec-http: Netty 容易受到请求 smuggling 的影响,因为块扩展不正确

CSB-7727

CVE-2025-58056 netty-codec-http2:由于块扩展不正确解析,Netty 容易请求 smuggling

CSB-7774

CVE-2025-41248 spring-security-core: Spring 安全授权绕过

CSB-7777

CVE-2025-41249 spring-core: Spring Framework Annotation 检测漏洞

CSB-7780

CVE-2025-41249 spring-core-test: Spring Framework Annotation 检测漏洞

CSB-7783

CVE-2025-41249 org.springframework/spring-core: Spring Framework Annotation 检测漏洞

CSB-7802

CVE-2025-4949 org.eclipse.jgit: XXE 漏洞在 Eclipse JGit 中

CSB-7889

CVE-2025-59952 minio: minio-java Client XML Tag 对 Value Substitution Vulnerable

CSB-7892

CVE-2025-59952 io.minio/minio: minio-java Client XML Tag Vulnerable to Value Substitution

除了以上问题外,红帽为 Spring Boot 版本 4.10.7 构建 Apache Camel 还包括几个上游修复。有关这些修复的更多信息,请参阅 解决问题

以下小节列出了在 Red Hat build of Apache Camel for Spring Boot 4.10.6 中解决的问题。

Expand
表 1.2. Red Hat build of Apache Camel for Spring Boot 版本 4.10.6 解决的问题
问题描述

CSB-7265

camel-resilience4j-starter 记录/忽略异常应处理嵌套异常

CSB-7284

支持组件 camel-rest-openapi

CSB-7417

http component as producer fails if bridgeEndpoint=true

CSB-7429

camel-http-starter 使用 httpclient5 的社区版本

CSB-7472

CXF 制作者将 http 路径附加到请求的 http 端点

CSB-7516

rest-openapi 上下文不正确

CSB-7519

CVE-2025-55163 netty-codec-http2: Netty MadeReset HTTP/2 DDoS Vulnerability

CSB-7522

CVE-2025-5115 jetty-http2-client: HTTP/2 (包括 HTTPS 的 DNS)包含设计缺陷,并容易受到 "MadeYouReset" DoS 攻击攻击 HTTP/2 控制帧

CSB-7525

CVE-2025-5115 jetty-http2-client-transport: HTTP/2 (包括 HTTPS 的 DNS)包含一个设计漏洞,并容易受到 "MadeYouReset" DoS 攻击通过 HTTP/2 控制帧的攻击

CSB-7528

CVE-2025-5115 jetty-http2-common: HTTP/2 (包括 HTTPS 的 DNS)包含设计缺陷,并容易受到 "MadeYouReset" DoS 攻击攻击,通过 HTTP/2 控制帧

CSB-7531

CVE-2025-5115 jetty-http2-hpack: HTTP/2 (包括 HTTPS 的 DNS)包含一个设计漏洞,它容易受到 "MadeYouReset" DoS 攻击攻击(通过 HTTP/2 控制帧)

CSB-7538

在 SMB 服务器有网络问题/重置连接后,Camel-smb 组件无法正确恢复

以下小节列出了在 Red Hat build of Apache Camel for Spring Boot version 4.10 Patch 1 中解决的问题。

Expand
表 1.3. Red Hat build of Apache Camel for Spring Boot 版本 4.10 Patch 1 解决的问题
问题描述

CSB-6995

jbang dependency 命令不显示/处理版本

CSB-7061

CVE-2024-13009 jetty-server: Jetty: Gzip Request Buffer Buffer Corruption

CSB-7069

CVE-2025-41232 spring-security-core: Spring Security authorization bypass for method security annotations

CSB-7079

CVE-2025-48734 commons-beanutils: Apache Commons BeanUtils: PropertyUtilsBean 不会默认阻止 enum 的 claimClass 属性

CSB-7133

CVE-2025-49146 postgresql: pgjdbc insecure authentication in channel binding

以下小节列出了在 Red Hat build of Apache Camel for Spring Boot 版本 4.10 中解决的问题。

Expand
表 1.4. Red Hat build of Apache Camel for Spring Boot 版本 4.10 解决的问题
问题描述

CSB-4171

添加对 camel-graphql 的支持

CSB-4661

支持普通 CXF SOAP 场景

CSB-4995

添加对 Kamelets 和 Pipes 的支持

CSB-5483

奇数 <toD>,带有标头替换

CSB-5648

在 XML 中配置时,jaxws:client 的地址占位符不会被解析

CSB-5823

redshift kamelet: Failed to configure a DataSource

CSB-5875

camel-platform-http-starter 不实现 restConfiguration 中的所有功能

CSB-6248

camel-jaxb - JaxbDataFormat ignoreJAXBElement 是默认的 true

CSB-6282

使用 Spring Security 为 Camel 的 Route Security 创建实施示例

CSB-6304

[doc] Lack of 指令,将 SAP JCo 和 SAP IDoc 库安装到 OCP 上 Java 运行时的"lib/"目录中

CSB-6358

支持组件 camel-observability-services

CSB-6464

Additional Information Needed in CamelLivenessStateHealthIndicator Logs

CSB-6466

针对 camel-kubernetes 的 javax 依赖项

CSB-6469

支持组件 camel-ssh

CSB-6527

camel-infinispan-starter 无法用于最新的产品化 JDG

CSB-6687

支持组件 camel-smooks

CSB-6739

依赖项 org.apache.camel/camel-console 增加了构建时间

CSB-6742

红帽构建的 Apache Camel BOM 包括 UPSTREAM Artemis BOM

CSB-6761

Eip: endChoice ()无法获得嵌套选择中的父项

CSB-6766

strimzi quickstart / get rid of kubernetes profile

CSB-6812

[CAMEL-22001]camel-core - Kamelet 和 EIPs 应该传播交换变量

CSB-6855

kamelets: camel export due to Bean not found

CSB-6865

[AWS-Kinesis] 使用 KCL Consumer 模式时,kinesisClient bean 上的错误

CSB-6936

jbang 导出会导致 java.lang.ClassNotFoundException: org.apache.camel.kamelets.catalog.KameletsCatalog

CSB-6943

kamelet ExtractField 引用错误的 Camel ExtractField 类

CSB-6946

MongoDB 版本不正确

CSB-6955

CVE-2025-1948 jetty-http2-common: Jetty HTTP/2 Header List Size Vulnerability

RHBAC-127

向后移植 CAMEL-21828: 在小写模式下过滤 DefaultHeaderFilterStrategy 时修复 DefaultHeaderFilterStrategy

RHBAC-142

向后移植 CAMEL-21876 - Undertow Header Filter 策略:考虑过滤中的

RHBAC-145

Camel CLI export 命令不对待产品版本

以下小节列出了 Red Hat build of Apache Camel for Spring Boot 的已知问题。

CSB-6748 方法 AttachmentMessage.getAttachments () 返回值已更改
当您使用 AttachmentMessage.getAttachments () 方法时,它会在没有附件时返回一个空列表而不是 null 值。

以下小节列出了 Red Hat build of Apache Camel for Spring Boot 的已知问题。

CSB-6748 方法 AttachmentMessage.getAttachments () 返回值已更改
当您使用 AttachmentMessage.getAttachments () 方法时,它会在附加时返回一个空列表而不是 null 值。
CSB-6437 CXF opentelemetry - 使用 RHEL9 上来自不同 http 请求的同一 trace id
这个问题只适用于在 RHEL 9 平台上带有自定义追踪配置的 CXF 和 OpenTelemetry。当您调用多个请求时,只有 CXF 和 opentelemetry 定义了自定义 opentelemetry tracer,则 trace ID 似乎会被在 Camel 路由中重复使用。结果是,每个 http 请求会在现有 trace 中添加新 span,而不是为每个 http 请求创建一个新的 trace ID。解决办法是将 ContextPropagators 明确定义为 W3CTraceContextPropagator,如下例所示:
    @Bean
    ContextPropagators contextPropagators() {
       // return ContextPropagators.create(TextMapPropagator.composite(W3CBaggagePropagator.getInstance()));
       return ContextPropagators.create(W3CTraceContextPropagator.getInstance());
    }
Copy to Clipboard Toggle word wrap
如果 spring.boot.actuator.autoconfigure 不在依赖项中,则 CSB-4318 Fail 使用 Openshift Maven 插件在 OCP 上部署

Jkube maven 插件使用以下条件来检查应用是否公开健康端点(使用 SpringBootHealthCheckEnricher)。这两个类都位于 classpath 中:

  • org.springframework.boot.actuate.health.HealthIndicator
  • org.springframework.web.context.support.GenericWebApplicationContext

但是,在没有配置操作器的情况下不会公开 /actuator/health wil。这会造成 JKube (它们都使用上述端点)配置的就绪度/存活探针与应用程序公开的内容之间。

此错误配置会在 OpenShift Container Platform 上造成部署配置失败,因为生成的 pod 不会处于 Ready 状态,因为没有配置探测调用。因此,为了使应用程序在 OpenShift Container Platform 上工作,它使用 JKube (openshift-maven-plugin)进行部署,需要在依赖项中包含 Web 和 actuator 自动配置。

以下示例演示了如何配置 web 和 actuator 自动配置。

Example

<dependency>
 <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
Copy to Clipboard Toggle word wrap

更新 archetype,如下所示。以下 archetype 构建的应用程序将使用 JKube 正确部署。

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-web</artifactId>
    <exclusions>
      <exclusion>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
      </exclusion>
    </exclusions>
</dependency>
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-undertow</artifactId>
</dependency>
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
Copy to Clipboard Toggle word wrap

此问题会影响缺少上述依赖项之一的自定义应用程序。

法律通告

Copyright © 2025 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
返回顶部