Red Hat Integration 2023.q2 发行注记
Red Hat Integration 中的新功能
摘要
前言 复制链接链接已复制到粘贴板!
使开源包含更多
红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。我们从这四个术语开始:master、slave、黑名单和白名单。由于此项工作十分艰巨,这些更改将在即将推出的几个发行版本中逐步实施。详情请查看 CTO Chris Wright 的信息。
对红帽文档提供反馈
我们感谢您对我们文档的反馈。要提供反馈,请选择文档中的相关文本并添加注释。
先决条件
- 已登陆到红帽客户门户网站。
- 在红帽客户门户网站中,文档使用 Multi-page HTML 格式。
流程
要提供反馈,请执行以下步骤:
点文档右上角的反馈按钮查看现有的反馈。
注意反馈功能仅在多页 HTML 格式中启用。
- 高亮标记您要提供反馈的文档中的部分。
点在高亮文本旁弹出的 Add Feedback。
文本框将在页面右侧的"反馈"部分中打开。
在文本框中输入您的反馈,然后点 Submit。
创建了一个与文档相关的问题。
- 要查看问题,请点反馈视图中的问题跟踪器链接。
第 1 章 Red Hat Integration 复制链接链接已复制到粘贴板!
Red Hat Integration 是一组全面的集成和事件处理技术,用于在混合和多云环境中创建、扩展和部署基于容器的集成服务。Red Hat Integration 提供了一个灵活的、分布式和以 API 为中心的解决方案,可供组织用来在数字世界所需的应用程序和系统间连接和共享数据。
Red Hat Integration 包括以下功能:
- 实时消息传递
- 跨数据中心消息流
- API 连接
- 应用程序连接器
- 企业集成模式
- API 管理
- 数据转换
- 服务组成和编配
第 2 章 Camel Extensions for Quarkus 2.13.3 发行注记 复制链接链接已复制到粘贴板!
2.1. Camel Extensions for Quarkus 功能 复制链接链接已复制到粘贴板!
- 快速启动和低 RSS内存
- 使用 Quarkus 优化的构建时间和提前(AOT)编译功能,您的 Camel 应用程序可在构建时预先配置,从而导致启动时间。
- 应用程序生成器
- 使用 Quarkus 应用程序生成器 引导应用程序并发现其扩展生态系统。
- 高可配置
Camel Extensions for Quarkus 应用程序的所有重要方面均可以编程方式使用 CDI (Contexts 和 Dependency Injection)或使用配置属性来设置。默认情况下,配置 CamelContext 并为您自动启动。
参阅 配置 Quarkus 应用程序 指南以了解有关 bootstrap 和配置应用程序的不同方法的更多信息。
- 与现有 Quarkus 扩展集成
- Camel Extensions for Quarkus 为一些 Camel 组件用来继承原生支持和配置选项的库和框架提供扩展。
2.2. 支持的平台、配置、数据库和扩展 复制链接链接已复制到粘贴板!
- 有关 Camel Extensions for Quarkus 版本 2.13.2 中支持的平台、配置和数据库的详情,请查看客户门户网站中的支持的配置页面(需要登录)。
- 如需 Red Hat Camel Extensions for Quarkus 扩展列表以及每个扩展的红帽支持级别,请参阅 Camel Extensions for Quarkus Reference 中的 Extensions Overview 章节(需要登录)。
2.3. 用于 Camel Extensions for Quarkus 的 BOM 文件 复制链接链接已复制到粘贴板!
- 要将 Red Hat Camel Extensions for Quarkus 版本 2.13.3 项目配置为使用支持的扩展,请使用来自 Redhat Maven Repository 的最新 Bill Of Materials (BOM)版本 2.13.7.SP3-redhat-00003 或更新版本。
有关 BOM 依赖项管理的更多信息,请参阅使用 Camel Extensions for Quarkus 开发应用程序
2.4. 技术预览扩展 复制链接链接已复制到粘贴板!
在 Camel Extensions for Quarkus Reference 的 Extensions Overview 章节中,指定为技术预览的项目的支持有限,如技术预览功能支持范围所定义。
虽然 CXF 被完全支持,但这个 Camel Extensions for Quarkus 版本仍有问题。以下功能仍然还只是一个技术预览:
- CEQ-5390 WS-ReliableMessaging
- 对 CXF WS-ReliableMessaging 当前不可用的完全支持,它仍然是 2.13.3 的技术预览。
2.5. 已知问题 复制链接链接已复制到粘贴板!
- CEQ-6263 OpenTelemetry trace 没有按顺序生成
如果您尝试通过 OpenTelemetry 捕获 DB 调用 trace,则 bean 调用在新线程中执行,并在 JBDC 驱动程序中创建一个新的 OpenTelemetry 上下文,其新的 span 不在预期父级之外。
注意为确保记录的 span 序列正确,您必须使用 full
to ("bean:")端点 URI,而不是短的.bean ()EIP DSL 方法。- 如果在路由模板之前处理,CEQ-6217 Templated 路由会失败
-
如果在路由模板定义前在
camel.main.routes-include-pattern中设置 templated 路由定义,则 Camel 应用程序将无法启动。 - OpenShift 上的 CEQ-6203 CXF 需要 quarkus.cxf.path 属性
在 OpenShift 上部署带有 CXF 的 Camel Quarkus 时,您必须设置
quarkus.cxf.path属性。否则,因为缺少存活度/就绪度探测,pod 将无法工作:
示例
11:36:07,343 Can't find the request for http://10.10.10.10:8080/q/health/ready's Observer- CEQ-5705 Extension camel-quarkus-snmp 不支持原生
在 Camel Extensions for Quarkus 中,我们仅在 JVM 模式中支持
camel-quarkus-snmp组件。SNMP 版本 3 仅支持操作
轮询。(此限制是由 Camel 3.18.6 中的问题导致的。如需更多信息,请参阅 CAMEL-19298。注意目前 ,http://code.quarkus.redhat.com 可能不会列出
camel-quarkus-snmp,但实际上我们确实支持 JVM 模式的组件。
2.6. 重要备注 复制链接链接已复制到粘贴板!
- 支持 AdoptiumJDK
- Camel Extensions for Quarkus 版本 2.13.3 包括对 AdoptiumJDK 11 和 AdoptiumJDK 17 的支持。
- Camel 从 3.14.2 升级到 3.18.6
Camel Extensions for Quarkus 版本 2.13.3 已从 Camel 版本 3.14.2 升级到 Camel 3.18.6。有关每个 intervening Camel 补丁发行版本的详情,请参考以下内容:
- Apache Camel 3.14.3 发行注记
- Apache Camel 3.14.4 发行注记
- Apache Camel 3.14.5 发行注记
- Apache Camel 3.14.6 发行注记
- Apache Camel 3.14.7 发行注记
- Apache Camel 3.15.0 发行注记
- Apache Camel 3.16.0 发行注记
- Apache Camel 3.17.0 发行注记
- Apache Camel 3.18.0 发行注记
- Apache Camel 3.18.1 发行注记
- Apache Camel 3.18.2 发行注记
- Apache Camel 3.18.3 发行注记
- Apache Camel 3.18.4 发行注记
- Apache Camel 3.18.5 发行注记
- Apache Camel 3.18.6 发行注记
- Camel Quarkus 从 2.7 升级到 2.13 版本
Camel Extensions for Quarkus 版本 2.13.3 已从 Camel Quarkus 版本 2.7 升级到 Camel Quarkus 版本 2.13。有关每个 intervening Camel Quarkus 补丁发行版本的详情,请参考:
2.7. 已解决的问题 复制链接链接已复制到粘贴板!
下表列出了影响 Camel Extensions for Quarkus 的已知问题,这些问题已在 Camel Extensions for Quarkus 版本 2.13.3 中修复。
| 问题 | 描述 |
|---|---|
| OpenTelemetry 跟踪未按顺序生成。 | |
| 支持扩展: camel-quarkus-vertx-http | |
| 支持扩展: camel-quarkus-snmp | |
| 支持扩展: camel-quarkus-yaml-dsl | |
| 支持扩展: camel-quarkus-amqp | |
| 支持扩展: camel-quarkus-jdbc | |
| XML DSL Language - extension camel-quarkus-xml-io-dsl |
2.7.1. 之前的版本 复制链接链接已复制到粘贴板!
有关 Camel Quarkus 2.7 和 Camel Quarkus 2.13 之间解决问题的详情,请查看每个补丁发行版本的发行注记。???
2.8. 弃用的 Camel Extensions for Quarkus 功能 复制链接链接已复制到粘贴板!
CEQ 3.x 的下一个主要发行本中没有以下功能和认证,在此版本中已被弃用。
2.8.1. JDK 11 复制链接链接已复制到粘贴板!
已弃用的功能
JDK 11 在此 Camel Extensions for Quarkus 发行版本中已弃用。以后的版本不支持它。
2.8.2. Camel-microprofile-metrics 复制链接链接已复制到粘贴板!
自 Camel Extensions for Quarkus 版本 2.13.2 开始,camel-microprofile-metrics 已被弃用。改为使用 camel-micrometer。
2.9. 本发行版本中添加的扩展 复制链接链接已复制到粘贴板!
下表列出了此 Camel Extensions for Quarkus 版本 Camel Extensions for Quarkus 的扩展。
| 扩展 | 工件 | 描述 | 备注 |
|---|---|---|---|
| AMQP |
| 使用 Apache QPid 客户端与 AMQP 协议进行消息传递. | |
| CXF |
| 使用 Apache CXF 公开 SOAP WebServices 或使用 CXF WS 客户端连接到外部 WebServices。 | |
| JDBC |
| 通过 SQL 和 JDBC 访问数据库. | |
| SNMP |
| 接收陷阱和轮询 SNMP (简单网络管理协议)功能的设备。 |
SNMP 版本 3 仅支持操作 |
| Vert.x HTTP Client |
| Camel HTTP 客户端支持 Vert.x。 | |
| YAML-DSL |
| 用于解析 YAML 路由定义的 YAML 堆栈。 | |
| XML IO DSL |
| 用于解析 XML 路由定义的 XML 堆栈 |
2.10. 这个版本中添加的数据格式 复制链接链接已复制到粘贴板!
在 2.13.3 的 Camel Extensions for Quarkus 发行版本中没有添加数据格式。
第 3 章 Debezium 2.1.4 发行注记 复制链接链接已复制到粘贴板!
Debezium 是一个分布式更改数据捕获平台,它捕获数据库表中发生的行级更改,然后将对应的更改事件记录传递给 Apache Kafka 主题。应用程序可以读取 这些更改事件流,并按发生更改事件的顺序访问更改事件。Debezium 基于 Apache Kafka 构建,并在 OpenShift Container Platform 或 Red Hat Enterprise Linux 上部署并与 AMQ Streams 集成。
以下主题提供发行版本详情:
3.1. Debezium 数据库连接器 复制链接链接已复制到粘贴板!
Debezium 为以下通用数据库提供基于 Kafka Connect 的连接器:
- Db2
- MongoDB
- MySQL
- Oracle
- PostgreSQL
- SQL Server
3.1.1. 连接器使用备注 复制链接链接已复制到粘贴板!
Db2
-
Debezium Db2 连接器不包含 Db2 JDBC 驱动程序(
jcc-11.5.0.0.jar)。有关如何部署必要 JDBC 驱动程序的信息,请参阅 部署说明。 - Db2 连接器需要使用抽象语法表示法(ASN)库,该库可作为 Linux Db2 的标准部分提供。
- 要使用 ASN 库,您必须有 IBM InfoSphere Data Replication (IIDR)的许可证。您不必安装 IIDR 来使用库。
-
Debezium Db2 连接器不包含 Db2 JDBC 驱动程序(
MongoDB
- 目前,您不能使用带有 MongoDB 4.2 的 Debezium MongoDB 连接器的事务元数据功能。
Oracle
-
Debezium Oracle 连接器不包括 Oracle JDBC 驱动程序(
ojdbc8.jar)。有关如何部署必要 JDBC 驱动程序的信息,请参阅 部署说明。
-
Debezium Oracle 连接器不包括 Oracle JDBC 驱动程序(
PostgreSQL
-
要使用 Debezium PostgreSQL 连接器,您必须使用
pgoutput逻辑解码输出插件,这是 PostgreSQL 版本 10 及更新的版本的默认值。
-
要使用 Debezium PostgreSQL 连接器,您必须使用
3.2. Debezium 支持的配置 复制链接链接已复制到粘贴板!
有关 Debezium 支持的配置的详情,包括支持的数据库版本的信息,请参阅 Debezium 2.1.4 支持的配置页面。
3.2.1. AMQ Streams API 版本 复制链接链接已复制到粘贴板!
Debezium 在 AMQ Streams 2.3 上运行。
AMQ Streams 支持 v1beta2 API 版本,它更新 AMQ Streams 自定义资源的 schema。旧的 API 版本已弃用。升级到 AMQ Streams 1.7 后,但在升级到 AMQ Streams 1.8 或更高版本前,您必须升级自定义资源以使用 API 版本 v1beta2。
如需更多信息,请参阅 Debezium 用户指南。
3.3. Debezium 安装选项 复制链接链接已复制到粘贴板!
您可以在 OpenShift 或 Red Hat Enterprise Linux 上使用 AMQ Streams 安装 Debezium:
3.4. 将 Debezium 从版本 1.x 升级到 2.1.4 复制链接链接已复制到粘贴板!
当前的 Debezium 版本包括在从早期版本升级时遵循特定步骤的更改。如需更多信息,请参阅 中断更改列表 和 升级过程。
3.4.1. 将连接器升级到 Debezium 2.1.4 复制链接链接已复制到粘贴板!
Debezium 2.1.4 是新 Debezium 主版本的第一个红帽发行版本。Debezium 2.1.4 中的一些更改与早期版本的 Debezium 不兼容。因此,要保留数据并确保当您从 Debezium 1.x 版本升级到 2.1.4 时继续操作,您必须在升级过程中完成一些手动步骤。
一个显著的变化是一些连接器参数的名称已更改。要容纳这些更改,请查看 配置属性更新,并记录连接器配置中存在的属性。在升级前,编辑每个 Debezium 连接器的配置,以添加任何更改的属性的新名称。在升级前,请编辑任何 1.x 连接器实例的配置,以便存在旧的和新属性名称。升级后,您可以删除旧的配置选项。
先决条件
- Debezium 现在与 Kafka 版本兼容,最多 3.3.1。这是 AMQ Streams 2.3 中的默认 Kafka 版本。
- 需要 Java 11 运行时,在升级前必须可用。AMQ Streams 2.3 支持 Java 11。在开发新应用程序时使用 Java 11。Java 11 启用最新的语言更新,如新的 String API 和 predicate 支持的变化,同时从 Java 性能改进中受益。AMQ Streams 2.3 不再支持 Java 8。
- 在明明更改列表 中检查向后兼容的更改。
- 验证您的环境是否符合 Debezium 2.1.4 支持的配置。
流程
- 在 OpenShift 控制台中,查看 Kafka Connector YAML 以识别在 Debezium 2.1.4 中不再有效的连接器配置。详情请查看 表 3.1 “连接器配置属性的更新”。
- 编辑配置,为在第 1 步中识别的属性添加 2.x 等效项,以便存在旧的和新属性名称。将新属性的值设置为之前为旧属性指定的值。
- 在 OpenShift 控制台中,停止 Kafka Connect 以安全地停止连接器。
- 在 OpenShift 控制台中,编辑 Kafka Connect 镜像 YAML 来引用 connector zip 文件的 Debezium 2.1.4.Final 版本。
- 在 OpenShift 控制台中,编辑 Kafka Connector YAML 以删除所有不再对连接器有效的配置选项。
- 根据需要调整应用程序的存储依赖项,具体取决于代码中的存储模块实施依赖项。请参阅有破坏性的变化中的 Debezium 存储的变化。
- 重启 Kafka Connect 以启动连接器。重启连接器后,2.1.4.Final 连接器将继续从您在升级前停止连接器的点处理事件。更改连接器在不会修改升级前写入 Kafka 的事件记录。
3.5. 新的 Debezium 功能 复制链接链接已复制到粘贴板!
Debezium 2.1.4 包括以下更新。
3.5.1. 可能会造成问题的更改 复制链接链接已复制到粘贴板!
Debezium 2.1.4 中的以下变化代表了连接器行为的显著区别,需要与早期 Debezium 版本不兼容的配置更改:
- 应用到多个连接器的更改
- 数据库历史记录主题
- 现在被称为数据库 schema 历史主题。
- 内存队列的对象大小限制
- 使用反映值不再计算大小。相反,队列限制会根据消息模式进行估算。(DBZ-2766) (MongodB, MySQL, Oracle, PostgreSQL, SQL Server )
- 暴露连接器指标
- Debezium 之前将连接器指标作为快照、流和基于历史记录的 Bean 的单个元组公开。在这个版本中,连接器指标作为多分区方案公开。因此,指标名称及其公开的方式改变(DBZ-4726)。如果使用 Grafana、Prometheus 或类似的 JMX 框架来收集指标,请查看收集指标的过程。
database.server.nameproperty- 连接器配置中不再使用。如需更多信息,请参阅 表 3.1 “连接器配置属性的更新”。
- 模式定义
- 为了命名和版本一致性,Debebe 模式现在在中央点中定义(DBZ-4365、 DBZ-5044)。如果使用模式 registry,则可能会出现架构兼容性问题。
- Debezium 存储更改
-
在以前的版本中,集成支持作为 debezium-core 模块的一部分读取和存储偏移、历史记录和其他数据。此发行版本包括一个新的
debezium-storage模块,它带有在本地文件系统中或 Kafka (DBZ-5229) 存储数据的实现。这种方法中实施的扩展点使得以后引入其他存储实施。作为升级的一部分,您可能需要根据代码所需的存储模块实现调整应用程序的依赖关系。 - 在通信异常后重启
- 当抛出与通讯相关的异常时(SqlException, IOException),默认情况下 Debezium MongoDB, MySQL, PostgreSQL, and SQL Server 连接器现在会自动重启 (DBZ-5244)。
skipped.operations配置选项的默认值-
现在,默认值为
truncate(DBZ-5497) (MongoDB, MySQL, Oracle, PostgreSQL, SQL Server) schema.name.adjustment.mode属性的默认值-
默认值为
none(DBZ-5541)。之前的默认选项是,对于使用 Avro converter 的客户来说,avro是一个很好的选择,但在使用 JSON 转换器的环境中造成混淆。作为此更改的一部分,sanitize.field.names属性不再可用。 - 删除了连接器配置属性
Debezium 1.x 版本中提供的几个属性不再有效,并被新属性替代。如需更多信息,请参阅下表:
Expand 表 3.1. 连接器配置属性的更新 1.x 属性 与 2.x 属性等效 数据库站(传递数据库驱动程序属性)(DBZ-5043)driver.*database.dbname(SQL Server)database.namesdatabase.history.consumer.*(DBZ-5043)schema.history.internal.consumer.*database.history.kafka.bootstrap.servers(DBZ-5043)schema.history.internal.kafka.bootstrap.serversdatabase.history.kafka.topic(DBZ-5043)schema.history.internal.kafka.topicdatabase.history.producer.*(DBZ-5043)schema.history.internal.producer.*database.server.name(DBZ-5043)topic.prefixmongodb.name(MongoDB)topic.prefixschema_blacklist(DBZ-5045)schema_exclude_listschema_whitelist(DBZ-5045)schema_include_list- 应用到 MySQL 连接器的更改
- MySQL 连接器不再支持旧的 JDBC 传统日期/时间属性(DBZ-4965)。
- 应用到 MongoDB 连接器的更改
- MongoDB 连接器不再支持直接来自 oplog 的流。更改流代表了使用 MongoDB 执行更改数据捕获的高级机制。连接器现在将 oplog 数据捕获和解码到 MongoDB 更改流,而不是直接读取 oplog 数据,这会将集合中发生的更改作为事件流公开。Debezium 连接器订阅流,然后将更改下游提供给 Kafka。更改流的转换提供了各种好处,包括从非主节点流更改的功能,以及为下游用户提供完整文档表示的更新事件。
-
配置属性
mongodb.name被topic.prefix属性替代。
- 应用到 PostgreSQL 连接器的更改
- 应用到 SQL Server 连接器的更改
-
如果没有为 SQL Server 数据库启用 SSL,或者您想要不使用 SSL 连接到数据库,请通过将连接器配置中的
database.encrypt属性的值设置为false来禁用 SSL。 -
database.dbname属性由database.names属性替代。
-
如果没有为 SQL Server 数据库启用 SSL,或者您想要不使用 SSL 连接到数据库,请通过将连接器配置中的
3.5.2. 提升到正式发行(GA)的功能 复制链接链接已复制到粘贴板!
在 Debezium 2.1.4 发行版本中,以下功能从技术预览提升到正式发布 (GA):
3.5.3. Debezium 功能更新 复制链接链接已复制到粘贴板!
这个 Debezium 2.1.4 发行版本提供多个功能更新和修复,包括以下列表中的项目:
- MySQL 连接器现在支持 binlog 压缩。DBZ-2663
- 限制了 "Streaming requested from LSN" 警告的日志输出量。DBZ-3007
- 在 MySQL 连接器解析器中实现对 JSON_TABLE 的支持。DBZ-3575
- 现在,您可以通过发送信号来暂停或停止增量快照。DBZ-4251
- 现在,当用户帐户缺少所需的 CDCReader 权限时,SQL Server 连接器会失败。DBZ-4346
- MongoDB 连接器现在可以解码二进制有效负载 DBZ-4600
- 现在,您可以暂停并恢复正在运行的增量快照 DBZ-4727
- 现在,您可以通过指定连接字符串 URI DBZ-4733来指定 MongoDB 连接设置
-
MongoDB 连接器的
field.exclude.list属性现在可以与具有相同名称的不同集合的字段一起工作。DBZ-4846 -
PostgresSQL 连接器现在在错误
PSQLException: 此连接被关闭后重试连接。DBZ-4948 - MySQL 连接器现在在历史记录记录 DBZ-4998中存储事件标头时间戳
- LogMiner 批处理大小现在根据当前的批处理大小进行调整,而不是默认大小。DBZ-5005
- 现在,您可以为 ByLogicalTableRouter SMT 将 最大条目数配置为缓存。DBZ-5072
- 新的扩展 API 允许您查询 Debezium 版本。DBZ-5092
-
将字段
ts_ms添加到 schema 更改事件,以识别事件何时发生或被处理。DBZ-5098 -
当 MongoDB 连接器转换 oplog 条目时,现在使用
RawBsonDocument类而不是文档。DBZ-5113 - MySQL 提交时间戳 DBZ-5170
- 事件 SCN 现在包含在 Oracle 事件记录中。DBZ-5225
-
为了避免出现
UnknownTopicOrPartitionException,您现在可以设置database.history.kafka.create.timeout.ms以指定连接器等待创建 Kafka 历史记录主题的时长。DBZ-5249 - 修改主密钥后,在源和目标接收器之间现在 LOB 类型数据一致。DBZ-5295
- MySQL 连接器现在在尝试读取 binlog 时收到错误后重试。DBZ-5333
- 在增量快照期间,Oracle 连接器现在使用包含句点的名称从数据库正确解析事件。DBZ-5336
- 支持带有 schema 前缀的 PostgreSQL 默认值功能调用。DBZ-5340
-
MySQL 连接器无法为 MySQL 8.x 转换未签名的
tinyint数据类型。DBZ-5343 - 当 Oracle 连接器检测到一个不受支持的 LogMiner 操作时,它会记录警告信息。DBZ-5351
- 当唯一索引基于系统和非系统生成的列时,Oracle 连接器会抛出 NullPointerException。DBZ-5356
- 修复了列哈希 v2 无法用于 MySQL 连接器的问题。DBZ-5366
- 修复了 JSON 扩展失败的问题,用于包含第一个数组不包含元素的嵌套阵列。DBZ-5367
- 修复了一个在使用带有 MongoDB 兼容性的 AWS DocumentDB 时,MongoDB 连接器连接失败的错误。DBZ-5371
- 修复了 Oracle 连接器以意外格式记录 CommitScn 的问题。DBZ-5381
- 修复了 PostgreSQL 连接器错误 org.postgresql.util.PSQLException: Bad value for type timestamp/date/time: CURRENT_TIMESTAMP。DBZ-5384
-
修复了在历史记录主题中缺少
previousID属性的 MySQL 连接器的问题。DBZ-5386 - 检查约束根据 schema 更改事件中的约束引入了一个列。DBZ-5390
- 修复了 PostgreSQL 连接器捕获为 PRIMARY KEY 引用的列时发生的问题,但没有在表中定义匹配的列。DBZ-5398
-
在将 Oracle 与可插拔数据库支持 DBZ-5399搭配使用时,明确指定
signal.data.collection的文档 - PostgreSQL 连接器现在使用 GMT 指定时间戳。DBZ-5403
-
临时和增量快照现在支持
额外的条件参数,用于指定要捕获的数据子集。DBZ-5327 - 添加逻辑来启用 Oracle 连接器,以便在流 DBZ-5441过程中安全地不支持的非关系表
- SQL Server 连接器任务现在在 "Socket closed" 异常后重启。DBZ-5478
- 在正则表达式主题命名策略中增加唯一性键字段/值。DBZ-5480
- MySqlErrorHandler 应处理 SocketException DBZ-5486
- MySQL 连接器现在在连接器模式中添加数据库列注释。DBZ-5489
- 在 schema 历史记录消息中公开默认值和枚举值。DBZ-5511
- 在 BinaryHandlingMode DBZ-5544中支持 BASE64_URL_SAFE
- 在提交源数据库 DBZ-5557 的偏移时提供分区
-
传统的快照进程设置
source.ts_ms.DBZ-5591 - 清理"逻辑名称"配置。DBZ-5594
- MySQL Connector 现在捕获 TRUNCATE 事件。DBZ-5610
- 明确了文档中的 include/exclude 选项的语义。DBZ-5625
-
现在,您可以在发出更改事件时将 MongoDB 连接器配置为包含
before字段。DBZ-5628 - 在 PostgreSQL 连接器中记录非递增快照的增强。DBZ-5639
- 通过减少 REGEXP_LIKE Disjunctions 来提高 LogMiner 查询性能。DBZ-5648
- 您可以配置 MongoDB 连接器尝试向服务器发送心跳消息的频率。DBZ-5736
- 增强了清理主题名称 DBZ-5790 的功能
-
现在,您可以配置
flush.lsn.source,以防止 PostgreSQL 连接器自动将已处理的记录的 LSN 提交到数据库。DBZ-5811 -
现在,您可以使用
ComputePartitionSMT 根据某些字段将数据路由到特定的主题分区。DBZ-5847 -
现在,您可以配置
event.processing.failure.handling.mode,以启用 PostgreSQL 连接器跳过失败的 LSN 检查。DBZ-6012 - 现在,当您在可插拔数据库部署(CDB)中使用 Oracle 连接器时,连接器偏移会预先正确地进行。DBZ-6125
3.6. 技术预览功能 复制链接链接已复制到粘贴板!
技术预览功能不被红帽产品服务级别协议(SLA)支持,且可能无法完成。红帽不推荐在生产环境中实施任何技术预览功能。技术预览功能为用户提供了一个对最新的产品创新的试用机会,以便用户可以对其进行测试并提供反馈。如需有关支持范围的更多信息,请参阅 技术预览功能支持范围。
Debezium 包括以下技术预览功能:
- 并行初始快照
-
您可以通过将
snapshot.max.threads属性设置为大于 1 的值,将基于 SQL 的连接器配置为在执行初始快照时使用多个线程。 - MongoDB 连接器的临时和增量快照
- 提供重新运行之前捕获快照的表快照的机制。
- CloudEvents converter
-
发出更改事件,记录符合 CloudEvents 规格。CloudEvents 更改事件 envelope 可以是 JSON 或 Avro,每个 envelope 类型支持 JSON 或 Avro 作为
数据格式。CloudEvents 更改事件 envelope 支持 Avro 编码更改事件 envelope 可以是 JSON 或 Avro,每个 envelope 类型支持 JSON 或 Avro 作为数据格式。 - 基于内容的路由
- 根据事件内容,提供将所选事件重新定向到特定主题的机制。
- 自定义开发的转换器
- 如果默认数据类型转换无法满足您的需要,您可以创建自定义转换器来与连接器一起使用。
- 过滤 SMT
- 允许您指定希望连接器发送到代理的记录子集。
- MongoDB 连接器的信号
- 提供修改连接器行为或触发一次性操作的机制,如启动表 的临时快照。
- 使用 Oracle 连接器的
BLOB、CLOB和NCLOB数据类型 - Oracle 连接器可以使用 Oracle 大对象类型。
第 4 章 Camel K 发行注记 复制链接链接已复制到粘贴板!
Camel K 是一个轻量级集成框架,从 Apache Camel K 构建,它在 OpenShift 上的云中原生运行。Camel K 专为无服务器和微服务架构而设计。您可以使用 Camel K 在 OpenShift 上直接运行使用 Camel 域特定语言(DSL)编写的集成代码。
将 Camel K 与 OpenShift Serverless 和 Knative 搭配使用,容器仅根据需要自动创建,并在负载下自动缩放为零。这消除了服务器调配和维护的开销,使您能够专注于应用程序开发。
将 Camel K 与 OpenShift Serverless 和 Knative Eventing 搭配使用,您可以管理系统中的组件如何在事件驱动的架构中进行通信。这通过使用发布/订阅或事件流化模型以及事件生产者和消费者之间的分离关系,提供灵活性和提高效率。
4.1. Camel K 功能 复制链接链接已复制到粘贴板!
Camel K 提供与以下主要功能进行云原生集成:
- 用于自动扩展和缩减为零的 Knative Serving
- 用于事件驱动的架构的 Knative Eventing
- 默认情况下,使用 Quarkus 运行时的性能优化
- 使用 Java 或 YAML DSL 编写的 Camel 集成
- 使用 OpenShift 中的 Prometheus 监控集成
- Quickstart 教程
- kamelet Catalog (连接器)到外部系统,如 AWS、JIRA 和 Salesforce
- 支持 Timer 和 Log Kamelets
- 支持 IBM MQ 连接器
- 支持 Oracle 19 数据库
4.2. 支持的配置 复制链接链接已复制到粘贴板!
有关 Camel K 支持的配置、标准和组件的详情,请查看以下客户门户网站文章:
4.2.1. Camel K Operator 元数据 复制链接链接已复制到粘贴板!
Camel K 包括更新的 Operator 元数据,用于从 OpenShift OperatorHub 安装 Camel K。此 Operator 元数据包括用于发行版本打包的 Operator 捆绑包格式,用于 OpenShift Container Platform 4.6 或更高版本。
4.3. 重要备注 复制链接链接已复制到粘贴板!
Red Hat Integration - Camel K 发行版本的重要备注:
- 从 Red Hat Integration 中删除对 metering 标签的支持 - Camel K
- Camel K Operator 和 pod 的 metering 标签不再被支持。
- Red Hat Integration 的安全更新 - Camel K
- 有关如何应用此更新的详情,请参阅 如何将软件包更新应用到我的 RHEL 系统?
在应用此安全更新前,您必须将所有之前发布的勘误升级应用到您的系统。
- 支持在 ROSA 上运行 Camel K
- Camel K 现在支持在 Red Hat OpenShift Service on AWS (ROSA)上运行。
- 在 Camel K 中支持 IBM MQ 源连接器
- IBM MQ 源连接器 kamelet 添加到最新的 Camel K。
- 支持 Oracle 19
- Camel K 现在支持 Oracle 19。如需更多信息 ,请参阅支持的配置页面。
- 在 Windows 机器上使用 Camel K CLI 命令
-
当在 Windows 计算机上使用 kamel cli 命令时,命令中的
resource选项中的路径必须使用 linux 格式。例如:
//Windows path
kamel run file.groovy --dev --resource file:C:\user\folder\tempfile@/tmp/file.txt
//Must be converted to
kamel run file.groovy --dev --resource file:C:/user/folder/tempfile@/tmp/file.txt
- Red Hat Integration - Camel K Operator 镜像大小被增加
- 从 Red Hat Integration - Camel K 1.10.1.redhat-00026 开始,Camel K Operator 镜像的大小会加倍。
- YAML DSL 中接受的 Camel 问题单表示法
-
从 Red Hat Integration - Camel K 1.10.1.redhat-00026 开始,YAML DSL 将接受 camel case 标记(即
setBody)以及 snake case (如set-body)。请注意,在语法中有一些区别,因为 schema 会受到 Camel 版本的变化。
4.4. 支持的 Camel Quarkus 扩展 复制链接链接已复制到粘贴板!
本节列出了此 Camel K 发行版本支持的 Camel Quarkus 扩展(只在 Camel K 应用程序中使用时)。
只有在 Camel K 应用程序内使用时,才支持这些 Camel Quarkus 扩展。这些 Camel Quarkus 扩展不支持在独立模式中使用(没有 Camel K)。
4.4.1. 支持的 Camel Quarkus 连接器扩展 复制链接链接已复制到粘贴板!
下表显示了此 Camel K 发行版本支持的 Camel Quarkus 连接器扩展(只在 Camel K 应用程序中使用时)。
| 名称 | 软件包 |
|---|---|
| attachments |
|
| AWS DynamoDB |
|
| AWS 2 Kinesis |
|
| AWS 2 Lambda |
|
| AWS 2 S3 Storage Service |
|
| AWS 2 Simple Notification System (SNS) |
|
| AWS 2 Simple Queue Service (SQS) |
|
| Azure Storage Blob (技术预览) |
|
| Azure Storage Queue (技术预览) |
|
| Bean |
|
| Bean Validator |
|
| 浏览 |
|
| Cassandra CQL |
|
| Core |
|
| cron |
|
| CXF |
|
| dataformat |
|
| 直接 |
|
| File |
|
| FHIR |
|
| FTP |
|
| Google BigQuery |
|
| Google Pubsub |
|
| HTTP |
|
| Infinispan |
|
| jira |
|
| JMS |
|
| JPA |
|
| JTA |
|
| Kafka |
|
| kamelet |
|
| Kubernetes |
|
| Log |
|
| |
|
| MicroProfile Fault Tolerance |
|
| MicroProfile Health |
|
| MicroProfile Metrics |
|
| MLLP |
|
| Mock |
|
| MongoDB |
|
| Netty |
|
| OpenAPI Java |
|
| paho |
|
| Paho MQTT 5 |
|
| Platform HTTP |
|
| quartz |
|
| rest |
|
| REST OpenApi |
|
| Salesforce |
|
| SEDA |
|
| Slack |
|
| SQL |
|
| telegram |
|
| 计时器 |
|
| 验证器 |
|
| XQuery |
|
| zip 文件 |
|
4.4.2. 支持的 Camel Quarkus dataformat 扩展 复制链接链接已复制到粘贴板!
下表显示了此 Camel K 发行版本支持的 Camel Quarkus 形式扩展(只在 Camel K 应用程序中使用时)。
| 名称 | 软件包 |
|---|---|
| Avro |
|
| Avro Jackson |
|
| bindy (用于 CSV) |
|
| HL7 |
|
| Jackson |
|
| JacksonXML |
|
| JAXB |
|
| JSON Gson |
|
| protobuf Jackson |
|
| SOAP dataformat |
|
4.4.3. 支持的 Camel Quarkus 语言扩展 复制链接链接已复制到粘贴板!
在本发行版本中,Camel K 支持以下 Camel Quarkus 语言扩展(用于 Camel 表达式和 predicates):
- Bean 方法
- 常数
- ExchangeProperty
- File
- 标头
- HL7 Terser
- Ref
- Simple(简单)
- Tokenize
- JsonPath
- XPath
- XQuery
4.4.4. 支持的 Camel K traits 复制链接链接已复制到粘贴板!
在本发行版本中,Camel K 支持以下 Camel K traits。
- builder trait
- Camel trait
- Container trait
- dependencies trait
- deployer trait
- Deployment trait
- 环境特征
- JVM 特征
- kamelets trait
- owner trait
- Platform trait
- 拉取 Secret 特征
- Prometheus trait
- Quarkus trait
- route trait
- Service trait
- 错误处理程序特征
4.5. 支持的 Kamelets 复制链接链接已复制到粘贴板!
下表列出了在安装 Camel K 操作器时作为 OpenShift 资源提供的 kamelets。
有关这些 kamelets 的详情,请访问: https://github.com/openshift-integration/kamelet-catalog/tree/kamelet-catalog-1.8
有关如何使用 kamelet 连接应用程序和服务的详情,请参考 https://access.redhat.com/documentation/zh-cn/red_hat_integration/2022.q3/html-single/integrating_applications_with_kamelets。
技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。
这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。有关红帽技术预览功能支持范围的更多信息,请参阅 https://access.redhat.com/support/offerings/techpreview。
| kamelet | 文件名 | Type (Sink, Source, Action) |
|---|---|---|
| Ceph sink |
| sink |
| Ceph 源 |
| 源 |
| JIRA Add Comment sink |
| sink |
| JIRA Add Issue sink |
| sink |
| JIRA Transition Issue sink |
| sink |
| JIRA 更新问题接收器 |
| sink |
| avro Deserialize 操作 |
| 操作(数据转换) |
| avro Serialize 操作 |
| 操作(数据转换) |
| AWS DynamoDB sink |
| sink |
| AWS Redshift sink |
| sink |
| AWS 2 Kinesis sink |
| sink |
| AWS 2 Kinesis 源 |
| 源 |
| AWS 2 Lambda sink |
| sink |
| AWS 2 Simple Notification System sink |
| sink |
| AWS 2 Simple Queue Service sink |
| sink |
| AWS 2 Simple Queue Service source |
| 源 |
| AWS 2 Simple Queue Service FIFO sink |
| sink |
| AWS 2 S3 sink |
| sink |
| AWS 2 S3 源 |
| 源 |
| AWS 2 S3 Streaming Upload sink |
| sink |
| Azure Storage Blob Source (技术预览) |
| 源 |
| Azure Storage Blob Sink (技术预览) |
| sink |
| Azure Storage Queue Source (技术预览) |
| 源 |
| Azure Storage Queue Sink (技术预览) |
| sink |
| Cassandra sink |
| sink |
| Cassandra 源 |
| 源 |
| 提取字段操作 |
| 操作 |
| FTP sink |
| sink |
| FTP 源 |
| 源 |
| 具有标头键过滤器操作 |
| 操作(数据转换) |
| Hoist Field 操作 |
| 操作 |
| HTTP sink |
| sink |
| 插入字段操作 |
| 操作(数据转换) |
| 插入标头操作 |
| 操作(数据转换) |
| 是 Tombstone Filter 操作 |
| 操作(数据转换) |
| JIRA 源 |
| 源 |
| JMS sink |
| sink |
| JMS 源 |
| 源 |
| JMS IBM MQ sink |
| sink |
| JMS IBM MQ 源 |
| 源 |
| JSON Deserialize 操作 |
| 操作(数据转换) |
| JSON Serialize 操作 |
| 操作(数据转换) |
| Kafka 接收器 |
| sink |
| Kafka 源 |
| 源 |
| Kafka 主题名称过滤器操作 |
| 操作(数据转换) |
| 日志 sink (用于开发和测试目的) |
| sink |
| MariaDB sink |
| sink |
| 掩码字段操作 |
| 操作(数据转换) |
| 消息时间戳路由器操作 |
| 操作(路由器) |
| MongoDB sink |
| sink |
| MongoDB 源 |
| 源 |
| MySQL sink |
| sink |
| PostgreSQL sink |
| sink |
| predicate 过滤器操作 |
| action (router/filter) |
| protobuf Deserialize 操作 |
| 操作(数据转换) |
| protobuf Serialize 操作 |
| 操作(数据转换) |
| Regex Router 操作 |
| 操作(路由器) |
| 替换 Field 操作 |
| 操作 |
| Salesforce 创建 |
| sink |
| Salesforce Delete |
| sink |
| Salesforce 更新 |
| sink |
| SFTP sink |
| sink |
| SFTP 源 |
| 源 |
| Slack 源 |
| 源 |
| SQL Server 数据库接收器 |
| sink |
| telegram 源 |
| 源 |
| throttle 操作 |
| 操作 |
| 定时器来源(用于开发和测试目的) |
| 源 |
| 时间戳路由器操作 |
| 操作(路由器) |
| Key 操作的值 |
| 操作(数据转换) |
4.6. Camel K 已知问题 复制链接链接已复制到粘贴板!
以下已知问题适用于 Camel K:
ENTESB-15306 - Camel K 和 Fuse Online 之间的 CRD 冲突
如果同一 OpenShift 集群中安装了旧版本的 Camel K,从 OperatorHub 安装 Camel K 会失败,因为自定义资源定义冲突。例如,这包括以前在 Fuse Online 中提供的较旧版本的 Camel K。
作为临时解决方案,您可以在不同的 OpenShift 集群中安装 Camel K,或者在安装 Camel K 前输入以下命令:
$ oc get crds -l app=camel-k -o json | oc delete -f -
ENTESB-15858 - 添加了在本地或作为容器镜像打包和运行 Camel 集成的功能
在本地打包并运行 Camel 集成或作为容器镜像当前没有包括在 Camel K 中,并只提供社区支持。
如需了解更多详细信息,请参阅 Apache Camel K 社区。
ENTESB-16477 - Unable to download jira client dependencies with productized build
使用 Camel K operator 时,集成无法找到 jira 客户端的依赖项。解决办法是手动添加 atlassian 存储库。
apiVersion: camel.apache.org/v1
kind: IntegrationPlatform
metadata:
labels:
app: camel-k
name: camel-k
spec:
configuration:
- type: repository
value: <atlassian repo here>
ENTESB-17033 - Camel-K ElasticsearchComponent options ignored
在配置 Elasticsearch 组件时,Camel K ElasticsearchComponent 选项会被忽略。在使用 Elasticsearch 组件时,要添加 getContext ().setAutowiredEnabled (false)。
ENTESB-17061 - 无法使用非管理员用户运行 mongo-db-source kamelet 路由 - 因为 null 无法启动路由 mongodb-source-1
无法使用非管理员用户凭证运行 mongo-db-source kamelet 路由。组件的某些部分需要 admin 凭证,因此无法以非 admin 用户身份运行路由。
4.7. Camel K 修复的问题 复制链接链接已复制到粘贴板!
以下小节列出了 Red Hat Integration - Camel K 1.10.1.redhat-00026 中修复的问题:
4.7.1. Camel K 1.10.1.redhat-00026 中的功能请求 复制链接链接已复制到粘贴板!
下表列出了 Camel K 1.10.1.redhat-00026 中的功能请求:
| 问题 | 描述 |
|---|---|
| 通过 "extract-field-action" 修剪提取的字符串数据功能 |
4.7.2. Camel K 1.10.1.redhat-00026 中解决的错误 复制链接链接已复制到粘贴板!
下表列出了 Camel K 1.10.1.redhat-00026 中已解析的错误:
| 问题 | 描述 |
|---|---|
| "runtime error: 无效内存地址或 nil pointer dereference" from kamel promote 命令 | |
| kamel 卸载在全局 Operator 时不会删除 IntegrationPlatform | |
| 回归 - CK 和 Knative 比 KService 保持一致 | |
| Dockerfile fuse-camel-k-prod-operator-metadata 包含标签 v4.6 | |
| 支持的 Kamelets 与 Camel 组件不匹配 | |
| 在 'kamel promote' 命令中无效的 Semantic Version | |
| JIRA source - 在轮询延迟中创建多个问题时的重复消息 | |
| kamelet-catalog:一些版本占位符没有在 BOM 中管理 | |
| CVE-2023-1436 jettison: Un controlled Recursion in JSONArray [rhint-camel-k-1] | |
| CVE-2021-46877 jackson-databind: 如果使用 JDK 序列化序列化 JsonNode [rhint-camel-k-1],则 Possible DoS | |
| CVE-2022-4492 undertow: https 连接中的服务器身份不会被 undertow 客户端 [rhint-camel-k-1] 检查 | |
| CVE-2022-24999 qs: express: "qs"proto poisoning 会导致节点进程挂起 [rhint-camel-k-1] | |
| ClassNotFoundException Jira kamelet binding in native mode | |
| CVE-2022-41946 jdbc-postgresql: postgresql-jdbc: Information leak of prepared 语句数据因为不安全的临时文件权限 [rhint-camel-k-1] | |
| CVE-2022-46363 CXF: Apache CXF: 目录列出 / 代码 exfiltration [rhint-camel-k-1] | |
| CVE-2022-1471 snakeyaml: Constructor Deserialization Remote Code Execution [rhint-camel-k-1] | |
| CVE-2022-4245 codehaus-plexus: XML External Entity (XXE) Injection [rhint-camel-k-1] | |
| CVE-2022-4244 codehaus-plexus: Directory Traversal [rhint-camel-k-1] | |
| CVE-2022-39368 scandium: Failing DTLS handshakes 可能会导致节流处理记录 [rhint-camel-k-1] | |
| CVE-2023-1370 json-smart: Un control Resource Consumption vulnerability in json-smart (Resource Exhaustion)[rhint-camel-k-1.10] | |
| CVE-2022-42003 Vulnerable artifact jackson-databind during CK 1.10.1 CK6 MRRC repo zip file |
第 5 章 Camel Spring Boot 发行注记 复制链接链接已复制到粘贴板!
5.1. Camel Spring Boot 功能 复制链接链接已复制到粘贴板!
Camel Spring Boot 引入了对 Spring Boot 的 Camel 支持,它为许多 Camel 组件提供 Camel 和启动程序自动配置。在 Spring 上下文中提供了 Camel 上下文自动探测 Camel 路由的建议自动配置,并将密钥 Camel 实用程序(如制作者模板、消费者模板和类型转换器)注册为 beans。
5.2. Camel Spring Boot 支持的平台、配置、数据库和扩展 复制链接链接已复制到粘贴板!
- 有关 Camel Spring Boot 中支持的平台、配置和数据库的详情,请查看客户门户网站中的支持的配置页面(需要登录)。
- 有关 Red Hat Camel Spring Boot 扩展列表,请参阅 Camel Spring Boot 参考 (需要登录)。
5.3. 重要备注 复制链接链接已复制到粘贴板!
Camel Spring Boot 组件的文档包括在 Camel Spring Boot 参考 中。本参考指南中将添加其他 Camel Spring Boot 组件的文档。
- 从 Fuse 7.11 迁移到 Camel Spring Boot
- 此发行版本包含一个 迁移指南,记录在 Camel Spring Boot 上成功运行和部署 Fuse 7.11 应用程序所需的更改。它提供了有关如何解决部署和运行时问题的信息,以及防止应用程序行为的更改。迁移是迁移至 Camel Spring Boot 平台的第一步。应用程序成功部署并运行后,用户可以计划升级各个组件以使用 Camel Spring Boot 的新功能和功能。
- 支持 EIP 断路器
- Camel Spring Boot 的 Circuit Breaker EIP 支持 Resilience4j 配置。此配置提供了与 Resilience4j 集成,以用作 Camel 路由中的 Circuit Breaker。
- 技术预览扩展
以下扩展作为 CSB 3.20 发行版本的一个技术预览被支持。
- camel-spring-batch-starter
- camel-spring-jdbc-starter
- camel-spring-ldap-starter
- camel-spring-rabbitmq-starter
- camel-spring-redis-starter
- camel-spring-security-starter
- camel-spring-ws-starter
5.4. Camel Spring Boot 修复的问题 复制链接链接已复制到粘贴板!
以下小节列出了 Camel Spring Boot 中修复的问题。
5.4.1. Camel Spring Boot 版本 3.20.1.1 修复的问题 复制链接链接已复制到粘贴板!
下表列出了 Camel Spring Boot 版本 3.20.1.1 中已解析的错误。
| 问题 | 描述 |
|---|---|
| CVE-2022-31690 spring-security-oauth2-client: Privilege Escalation in spring-security-oauth2-client [rhint-camel-spring-boot-3] | |
| CVE-2023-20883 spring-boot: Spring Boot Welcome Page DoS Vulnerability [rhint-camel-spring-boot-3.20] | |
| CVE-2023-24815 vertx-web: StaticHandler 在 Windows 上分离,当挂载到通配符路由 [rhint-camel-spring-boot-3.20] | |
| CXF TrustedAuthorityValidatorTest failure | |
| backport CAMEL-19421 - Camel-Jira: 在 FileConverter 中使用 Files.createTempFile,而不是直接创建文件 |
5.4.2. Camel Spring Boot 版本 3.18.3.1 修复的问题 复制链接链接已复制到粘贴板!
下表列出了 Camel Spring Boot 版本 3.18.3.1 中已解析的错误。
| 问题 | 描述 |
|---|---|
| CVE-2022-25857 snakeyaml: Denial of Service due due missing nested depth limitations for collections [rhint-camel-spring-boot-3] | |
| CVE-2022-38752 snakeyaml: Uncaught exception in java.base/java.util.ArrayList.hashCode [rhint-camel-spring-boot-3] | |
| CVE-2022-38751 snakeyaml: Uncaught exception in java.base/java.util.regex.Pattern$Ques.match [rhint-camel-spring-boot-3] | |
| CVE-2022-38750 snakeyaml: Uncaught exception in org.yaml.snakeyaml.constructor.constructObject [rhint-camel-spring-boot-3] | |
| CVE-2022-38749 snakeyaml: Uncaught exception in org.yaml.snakeyaml.composer.Composer.composeSequenceNode [rhint-camel-spring-boot-3] | |
| CVE-2022-42003 jackson-databind: deep wrapper array nesting wrt UNWRAP_SINGLE_VALUE_ARRAYS [rhint-camel-spring-boot-3] | |
| CVE-2022-42004 jackson-databind: 使用 deeply nested array [rhint-camel-spring-boot-3] | |
| CVE-2023-1370 json-smart: Un control Resource Consumption vulnerability in json-smart (Resource Exhaustion)[rhint-camel-spring-boot-3.18] | |
| CVE-2023-1436 jettison: Un controlled Recursion in JSONArray [rhint-camel-spring-boot-3] | |
| CVE-2022-46364 CXF: Apache CXF: SSRF Vulnerability [rhint-camel-spring-boot-3] | |
| CVE-2022-46363 CXF: Apache CXF: 目录列出 / 代码 exfiltration [rhint-camel-spring-boot-3] | |
| CVE-2022-45047 sshd-common: mina-sshd: Java unsafe deserialization 漏洞 | |
| CVE-2022-25857 snakeyaml: Denial of Service due due missing nested depth limitations for collections [rhint-camel-spring-boot-3] | |
| CVE-2022-41854 dev-java-snakeyaml: dev-java/snakeyaml: DoS via stack overflow [rhint-camel-spring-boot-3] | |
| CVE-2022-40156 xstream: Xstream to serialise XML 数据会受到 Denial Service 攻击 [rhint-camel-spring-boot-3] | |
| CVE-2022-40152 woodstox-core: woodstox to serialise XML 数据易受 Denial Service 攻击 [rhint-camel-spring-boot-3] | |
| CVE-2023-20883 spring-boot: Spring Boot Welcome Page DoS Vulnerability [rhint-camel-spring-boot-3.18] | |
| CXF 测试在 undertow 版本 update 2.2.24.SP1-redhat-00001 后失败 | |
| backport CAMEL-19421 - Camel-Jira: 在 FileConverter 中使用 Files.createTempFile,而不是直接创建文件 | |
| CXF TrustedAuthorityValidatorTest failure |
5.4.3. Camel Spring Boot 版本 3.20 修复的问题 复制链接链接已复制到粘贴板!
下表列出了 Camel Spring Boot 版本 3.20 中已解析的错误。
| 问题 | 描述 |
|---|---|
| CVE-2022-25857 snakeyaml: Denial of Service due due missing nested depth limitations for collections [rhint-camel-spring-boot-3] | |
| CVE-2022-40156 xstream: Xstream to serialise XML 数据会受到 Denial Service 攻击 [rhint-camel-spring-boot-3] | |
| CVE-2022-40152 woodstox-core: woodstox to serialise XML 数据易受 Denial Service 攻击 [rhint-camel-spring-boot-3] | |
| CVE-2022-40151 xstream: Xstream to serialise XML 数据会受到 Denial Service 攻击 [rhint-camel-spring-boot-3] | |
| CVE-2022-38752 snakeyaml: Uncaught exception in java.base/java.util.ArrayList.hashCode [rhint-camel-spring-boot-3] | |
| CVE-2022-38751 snakeyaml: Uncaught exception in java.base/java.util.regex.Pattern$Ques.match [rhint-camel-spring-boot-3] | |
| CVE-2022-38750 snakeyaml: Uncaught exception in org.yaml.snakeyaml.constructor.constructObject [rhint-camel-spring-boot-3] | |
| CVE-2022-38749 snakeyaml: Uncaught exception in org.yaml.snakeyaml.composer.Composer.composeSequenceNode [rhint-camel-spring-boot-3] | |
| CVE-2022-42003 jackson-databind: deep wrapper array nesting wrt UNWRAP_SINGLE_VALUE_ARRAYS [rhint-camel-spring-boot-3] | |
| CVE-2022-42004 jackson-databind: 使用 deeply nested array [rhint-camel-spring-boot-3] | |
| CVE-2022-41852 JXPath: 不受信任的 XPath 表达式可能会导致 RCE 攻击 [rhint-camel-spring-boot-3] | |
| CVE-2022-41853 hsqldb: Untrusted 输入可能会导致 RCE 攻击 [rhint-camel-spring-boot-3] | |
| CVE-2022-33681 org.apache.pulsar-client: Apache Pulsar: Apache Pulsar: Improper Hostname 验证 Java 客户端,代理可以通过 MITM [rhint-camel-spring-boot-3] 公开身份验证数据 | |
| CVE-2022-40150 jettison: memory exhaustion via user-supplied XML 或 JSON 数据 [rhint-camel-spring-boot-3] | |
| CVE-2022-39368 scandium: Failing DTLS handshakes 可能会导致节流处理记录 [rhint-camel-spring-boot-3] | |
| CVE-2022-31777 apache-spark: XSS vulnerability in log viewer UI Javascript [rhint-camel-spring-boot-3] | |
| camel-kafka-starter: KafkaConsumerHealthCheckIT 无法正常工作 | |
| l2x6 cq-maven-plugin 设置错误版本 camel-avro-rpc-component | |
| camel-cxf-rest-starter: EchoService 不是 JDK 17 上的接口错误 | |
| camel-infinispan-starter : 测试在启用了 FIPS 的环境中失败 | |
| CVE-2022-37866 apache-ivy: : Apache Ivy: Ivy Path traversal [rhint-camel-spring-boot-3] | |
| CVE-2022-41881 codec-haproxy: HAProxyMessageDecoder Stack Exhaustion DoS [rhint-camel-spring-boot-3] | |
| CVE-2022-41854 dev-java-snakeyaml: dev-java/snakeyaml: DoS via stack overflow [rhint-camel-spring-boot-3] | |
| [archetype] OMP version in openshift profile | |
| CVE-2022-38648 batik: Server-Side Request Forgery [rhint-camel-spring-boot-3] | |
| CVE-2022-38398 batik: Server-Side Request Forgery [rhint-camel-spring-boot-3] | |
| CVE-2022-40146 batik: Server-Side Request Forgery (SSRF)安全漏洞 [rhint-camel-spring-boot-3] | |
| CVE-2022-4492 undertow: https 连接中的服务器身份不会被 undertow 客户端 [rhint-camel-spring-boot-3] 检查 | |
| CVE-2022-45047 sshd-common: mina-sshd: Java unsafe deserialization 漏洞 | |
| SAP quickstart spring-boot 示例具有循环参考 | |
| 当在 FIPS 模式下使用 openJDK11 运行时,camel-salesforce-maven-plugin:3.20.1 会失败 | |
| CVE-2021-37533 apache-commons-net: FTP 客户端默认信任 PASV 响应中的主机 [rhint-camel-spring-boot-3] | |
| CVE-2023-24998 tomcat: Apache Commons FileUpload: FileUpload DoS 带有过量部分 [rhint-camel-spring-boot-3] | |
| CVE-2022-41966 xstream: Denial of Service:基于元素的哈希值来注入递归集合或映射,这增加了一个堆栈溢出 [rhint-camel-spring-boot-3] | |
| FIPS-mode: Invalid algorythms and security issues on some camel 组件 | |
| Spring Boot 版本在 BOM 中出错 | |
| CVE-2023-20860 springframework: Security Bypass with Un-Prefixed Double Wildcard Pattern [rhint-camel-spring-boot-3] | |
| CVE-2023-20861 springframework: Spring Expression DoS Vulnerability [rhint-camel-spring-boot-3] | |
| CVE-2022-42890 batik: 在 Apache XML Graphics Batik [rhint-camel-spring-boot-3] 中的不可信代码执行 | |
| CVE-2022-41704 batik: Apache XML Graphics Batik 通过 SVG [rhint-camel-spring-boot-3] 安全漏洞执行代码 | |
| CVE-2022-37865 apache-ivy: Directory Traversal [rhint-camel-spring-boot-3] | |
| CVE-2023-22602 shiro-core: 通过特殊的精心设计的 HTTP 请求[rhint-camel-spring-boot-3] 绕过身份验证 | |
| CVE-2023-1436 jettison: Un controlled Recursion in JSONArray [rhint-camel-spring-boot-3] | |
| camel-openapi-rest-dsl-generator 生成的类不会添加到 jar | |
| [cxfrs-component] camel-cxf-rest-starter 需要 cxf-spring-boot-autoconfigure | |
| CVE-2023-20863 springframework: Spring Expression DoS Vulnerability [rhint-camel-spring-boot-3.14] | |
| CVE-2023-1370 json-smart: Un control Resource Consumption vulnerability in json-smart (Resource Exhaustion)[rhint-camel-spring-boot-3.18] |
5.4.4. Camel Spring Boot 版本 3.18 Patch 1 修复的问题 复制链接链接已复制到粘贴板!
下表列出了 Camel Spring Boot 版本 3.18 Patch 1 中的已解决的问题
| 问题 | 描述 |
|---|---|
| CVE-2023-20863 springframework: Spring Expression DoS Vulnerability [rhint-camel-spring-boot-3.18] | |
| CVE-2023-1370 json-smart: Un control Resource Consumption vulnerability in json-smart (Resource Exhaustion)[rhint-camel-spring-boot-3.14] |
第 6 章 Service Registry 发行注记 复制链接链接已复制到粘贴板!
Service Registry 2.4 作为正式发行版本提供。Service Registry 是标准事件模式和 API 设计的数据存储,它基于 Apicurio Registry 开源社区项目。
红帽构建的 Apicurio Registry 现在作为 Red Hat Application Foundations 的一部分提供。红帽构建的 Apicurio Registry 2.x 和 Red Hat Integration Service Registry 2.x 的功能相同。如需更多信息,请参阅 https://access.redhat.com/products/red-hat-application-foundations/。
您可以使用 Service Registry 通过 Web 控制台、REST API、Maven 插件或 Java 客户端管理和共享数据的结构。例如,客户端应用程序可以动态地向 Service Registry 或从 Service Registry 推送最新的架构更新,而无需重新部署。您还可以创建可选规则来管理 Service Registry 内容随时间变化的方式。这些规则包括验证内容、工件引用的完整性,以及向后兼容或转发 schema 或 API 版本的兼容性。
6.1. Service Registry 安装选项 复制链接链接已复制到粘贴板!
您可以使用以下数据存储选项之一在 OpenShift 上安装 Service Registry:
- PostgreSQL 数据库
- Red Hat AMQ Streams
如需了解更多详细信息,请参阅在 OpenShift 上安装和部署 Service Registry。
6.2. Service Registry 支持的平台 复制链接链接已复制到粘贴板!
Service Registry 2.4 支持以下平台:
- Red Hat OpenShift Container Platform 4.13, 4.12, 4.11, 4.10
- Red Hat OpenShift Service on AWS
- Microsoft Azure Red Hat OpenShift
- PostgreSQL 15、14、13、12
- Red Hat AMQ Streams 2.4, 2.3, 2.2, 2.1
- OpenJDK 17, 11
如需了解更多详细信息,请参阅以下文章:
Service Registry 2.4 还支持与以下产品集成:
- Red Hat Single Sign-On (RH-SSO) 7.6
- 红帽构建的 Debezium 2.1
6.3. Service Registry 新功能 复制链接链接已复制到粘贴板!
Service Registry 2.4 包括以下新功能:
Service Registry 核心新功能
- 工件引用改进
- 工件参考完整性规则 :您现在可以应用新的特定于工件的规则和全局规则,以便在创建或更新工件时强制实施工件引用的完整性。对于所有工件类型,该规则会检测重复的工件引用,并防止引用不存在的工件。对于工件类型的子集(Apache Avro、Google Protobuf、OpenAPI 和 AsyncAPI),该规则可确保所有工件引用都已映射。
- Maven 插件中的自动工件引用检测 :对于工件类型的子集(Apache Avro、Google Protobuf 和 JSON Schema),在创建或更新工件时,Maven 插件现在可以自动识别并配置给定工件的所有工件引用。
- Web 控制台中的工件引用 的视觉化:您可以在新的 References 选项卡中查看工件版本的入站和出站引用。REST API 现在支持检索入站和出站引用。在以前的版本中,REST API 只检索出站引用,Web 控制台不会显示引用。
- 工件引用现在被视为内容 :此版本现在在计算内容哈希和 ID 时考虑工件引用,并在检查工件版本的兼容性时考虑工件引用。如果您上传具有不同引用的同一模式内容,您可以创建一个新的工件版本。
- 客户端 SDK 生成(OpenAPI)
- 此发行版本添加了一个新的 Web 控制台功能,以便用户从 OpenAPI 工件生成客户端 SDK。此功能使用 Microsoft 的 Kiota 来生成 SDK。该功能仅在浏览器中运行,无法使用 API 自动执行。如需更多信息,请参阅 https://github.com/microsoft/kiota。
- 工件版本删除
- 此发行版本在 web 控制台中添加了新的 REST API 操作和新的 Delete 工件版本 设置,以便您通过使用 REST API 删除工件版本。在以前的版本中,工件版本不可变;您可以弃用或禁用它们,但不能删除它们。但是,有时需要删除工件版本,尽管语义有意义。例如,出于规范或策略的原因,您可能需要删除工件版本。
- Core Registry REST API 的改进
- 版本注释 API :您现在可以使用 REST API 向工件版本添加注释。Web 控制台中还不能使用管理注释。
-
export API 支持 Accept 标头中的 application/json :您现在可以在调用
/admin/exportAPI 端点中发送application/json作为Accept标头的值。在以前的版本中,返回application/json格式的响应的唯一方法是使用forBrowser查询参数。现在,您可以使用查询参数或Accept标头。 - 组管理 :您现在可以使用 REST API 直接管理工件组,而不是隐式作为工件创建的一部分。
- Confluent 兼容性 REST API 的改进
- 更新了对 Confluent 兼容性 API 的支持:添加了对 Confluent Schema Registry API 的版本 7 的支持。Service Registry 现在支持不同端点上的 v6 和 v7。
-
可自定义的最多主题数 :现在,您可以使用
registry.ccompat.max-subjects动态配置属性来自定义ccompatAPI 返回的最大主题数量。
- 其他更改
-
serializer/deserializer 工件解析和内容哈希的解析 :SerDe 类现在可以使用 schema 的内容哈希解析工件协调。
- Maven 插件选项为 minify Avro: 当使用 Maven 插件注册 Avro 模式时,您现在可以在注册前减去内容。
-
serializer/deserializer 工件解析和内容哈希的解析 :SerDe 类现在可以使用 schema 的内容哈希解析工件协调。
- community-only :自定义工件类型
用户可以根据自己的自定义工件类型扩展 Service Registry,并删除对现有类型的支持。此功能仅适用于 Service Registry 的社区版本,且不被支持。
注意为了提供此功能,REST API 中的
ArtifactType从enum改为一个简单的字符串。如果您使用 REST API 客户端进行自定义集成,则可能需要在升级到较新的客户端后编辑代码。
Service Registry Operator 的新功能
- 对 HTTPS 的 Operator 支持
-
添加了对在 OpenShift 集群中配置 HTTPS 连接的支持。您可以分别创建包含证书和私钥的 Secret,名为
tls.crt和tls.key,并通过在ApicurioRegistry自定义资源定义(CRD)文件中设置spec.configuration.security.https.secretName字段来引用 Secret。然后,Service Registry Operator 可以在 Service RegistryService资源上配置 HTTPS 端口。如果启用了 HTTPS,您可以通过将spec.security.https.disableHttp设置为true来禁用 HTTP 连接。 - 支持手动管理的 OpenShift 资源
现在,您可以禁用某些资源类型,以确保 Service Registry Operator 不会创建和管理这些资源,以便您可以手动配置它们。使用 Service Registry Operator 目前不支持的功能,手动配置为您提供了更大的灵活性。如果您禁用资源类型,则其现有实例将被删除。如果启用资源类型,Service Registry Operator 会尝试使用 app 标签(如
app=example-apicurioregistry)查找资源,并开始管理它。否则,Service Registry Operator 会创建一个新实例。您可以以这种方式禁用以下资源类型:-
入口 -
NetworkPolicy -
PodDisruptionBudget
-
- 改进了日志级别配置
-
现在,您可以使用
ApicurioRegistryCRD 文件中的spec.configuration.registryLogLevel字段,为 Service Registry 和 Service Registry Operator 设置日志级别。这个新字段设置 Apicurio 应用程序组件的日志级别(不包括非Apicurio 组件和库),这与spec.configuration.logLevel字段(适用于非Apicurio 组件和库)不同。现在,您可以通过在 OperatorDeployment资源中设置LOG_LEVEL环境变量,为 Service Registry Operator 设置日志级别。有效的LOG_LEVEL值是debug、info、warn和error。 - CORS 允许的源
服务器可以使用 Cross-Origin Resource Sharing (CORS)机制来控制响应是否与请求的来源共享。Service Registry Operator 现在根据
ApicurioRegistryCRD 文件中的spec.deployment.host字段的值设置CORS_ALLOWED_ORIGINS环境变量。此环境变量控制 Service Registry 发送的Access-Control-Allow-Origin标头。如果使用自定义
Ingress(例如,配置 HTTPS),您可以通过将spec.deployment.managedResources.disable字段设置为Ingresstrue来禁用 Operator 管理的 Ingress,仍然将spec.deployment.host字段设置为适当的值。如果要配置完全自定义的 CORS 策略,您可以将spec.deployment.host字段设置为空,应用更改,然后使用spec.deployment.env字段手动设置CORS_ALLOWED_ORIGINS环境变量。- 使用 pod 模板配置 Service Registry 部署
ApicurioRegistryCRD 文件现在包含spec.deployment.podTemplateSpecPreview字段作为技术预览功能。spec.deployment.podTemplateSpecPreview字段的结构与 OpenShiftDeployment资源(PodTemplateSpecstruct)中的spec.template字段相同。通过一些限制,Service Registry Operator 将来自此字段的数据转发到 Service RegistryDeployment资源中的对应字段。此功能提供更大的灵活性,而无需 Service Registry Operator 原生支持每个用例。重要技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
Service Registry 用户文档和示例
文档库已使用版本 2.4 中的新功能更新:
开源演示应用程序也已更新:
6.4. Service Registry 弃用的功能 复制链接链接已复制到粘贴板!
Service Registry 核心已弃用的功能
- Confluent Schema Registry API 版本 6 (compatibility API): Service Registry 目前支持独立端点上的 Confluent Schema Registry API 的两个版本:版本 6 和版本 7。使用版本 6 已被弃用;v6 API 端点将在以后的版本中删除。确保您将对 v6 端点的所有引用替换为对 v7 API 端点的引用。
- Service Registry Core API 版本 1: Service Registry 支持 Service Registry Core API (版本 1)现已弃用,旧的 API 将在下一个主发行版本中删除。
-
动态日志级别配置 :
/admin/loggers和/admin/loggers/{logger}API 端点现在在 Service Registry Core API (v2)中被弃用。这些端点将在以后的发行版本中被删除。 - Registry V1 export 工具 :命令行导出工具的 Service Registry 支持现已弃用。导出工具用于将 Service Registry 1.x 中的数据导出为可导入到 2.x 的格式,将不再发布或维护。所有客户都应该已从 1.x 升级到 2.x。
Service Registry Operator 已弃用的功能
-
通过编辑 Deployment 资源来设置环境变量 :在以前的版本中,您可以通过直接编辑其
Deployment资源(由 Service Registry Operator 支持)来为 Service Registry 设置环境变量。现在,您可以使用ApicurioRegistryCRD 文件中的spec.configuration.env字段来管理环境变量,前面的流程已弃用,并将删除对它的 Operator 支持。确保使用spec.configuration.env字段来设置 Operator 未设置的所有环境变量。 - 为未启用的功能保留环境变量 : Service Registry Operator 设置环境变量以启用和配置各种功能,如使用 KafkaSQL 存储时 Salted Challenge Response Authentication Mechanism (SCRAM)安全性。当禁用此类功能时,Operator 当前会保留关联的环境变量,这可能会导致问题。此类环境变量的保留已弃用,Operator 对它的支持将被删除。确保您的部署不依赖于这些环境变量的保留。
-
环境变量优先级 : Service Registry Operator 可能会尝试设置已在
spec.configuration.env字段中明确指定的环境变量。如果环境变量具有冲突的值,则 Service Registry Operator 设置的值会默认具有优先权。此行为将在以后改变,以便用户覆盖 Operator 设置的大部分环境变量。确保您的部署不依赖于原始优先级行为。
6.5. 升级和迁移 Service Registry 部署 复制链接链接已复制到粘贴板!
您可以将 Service Registry 服务器从 Service Registry 2.x 升级到 OpenShift 上的 Service Registry 2.4。没有从 Service Registry 1.x 到 Service Registry 2.x 的自动升级,需要迁移过程。
6.5.1. 更新 2.x 客户端依赖项 复制链接链接已复制到粘贴板!
这不是为这个版本更新客户端依赖项所必需的;现有 2.x 客户端仍可用于 Service Registry 2.4。
但是,在下一个 Service Registry 版本前,您必须更新所有客户端应用程序依赖项以使用最新的 Service Registry 客户端版本。客户端应用程序依赖项包括 Kafka serializers/deserializers (SerDes)、Maven 插件和 Java REST 客户端的依赖项。例如,要更新 Java REST 客户端的 Maven 依赖项,请在 pom.xml 文件中指定版本,如下所示:
<dependency>
<groupId>io.apicurio</groupId>
<artifactId>apicurio-registry-client</artifactId>
<version>2.4.3.Final-redhat-00006</version>
</dependency>
如需了解更多详细信息,请参阅 默认启用旧 REST API 日期格式。
6.5.2. 从 OpenShift 上的 Service Registry 2.x 升级 复制链接链接已复制到粘贴板!
您可以从 OpenShift 4.9 上的 Service Registry 2.x 升级到 OpenShift 4.10 或更高版本的 Service Registry 2.4。您必须升级 Service Registry 和 OpenShift 版本,并一次升级 OpenShift 的一个次版本。
先决条件
- 您已在 OpenShift 4.9 上安装 Service Registry 2.x。
流程
- 在 OpenShift Container Platform Web 控制台中,点 Administration,然后点 Cluster Settings。
-
点 Channel 字段旁边的铅笔图标,然后选择下一个次
candidate版本(例如,从stable-4.9改为candidate-4.10)。 - 点 Save 然后点 Update,等待升级完成。
-
如果 OpenShift 版本小于 4.11,请重复步骤 2 和 3,然后选择
candidate-4.11或更高版本。 - 点 Operators > Installed Operators > Red Hat Integration - Service Registry。
-
确保 更新频道 已设置为
2.x。 -
如果 Update approval 设为 Automatic,则升级应在设置
2.x频道后立即批准并安装。 - 如果 Update approval 设置为 Manual,点 Install。
- 等待 Operator 部署好并部署了 Service Registry pod。
- 验证您的 Service Registry 系统是否正在运行。
其他资源
- 有关如何在 OpenShift Container Platform Web 控制台中设置 Operator 更新频道的更多详细信息,请参阅 更改 Operator 的更新频道。
6.5.3. 从 OpenShift 上的 Service Registry 1.1 迁移 复制链接链接已复制到粘贴板!
有关从 Service Registry 1.1 迁移到 Service Registry 2.x 的详情,请参阅 迁移 Service Registry 部署。
6.6. Service Registry 解决的问题 复制链接链接已复制到粘贴板!
| 问题 | 描述 |
|---|---|
| 在 web 控制台中启用 Anonymous read access 和 Artifact owner-only 授权 会失败,并显示错误。 | |
| 在将 KafkaSQL 存储配置为使用 SSL 时,密钥密码不是可选的。 | |
|
JSON 模式兼容性检查无法进行 | |
|
部署 Service Registry 时 | |
|
| |
|
| |
|
无法上传引用具有 | |
| 当提供了空 schema 时,兼容性检查不会抛出异常。 | |
|
当 schema 默认值为 | |
| Kafka 消费者线程在内部数据库就绪前启动。 | |
| 重定向过滤器配置不正确。 | |
| 兼容性规则不会按版本号排序。 | |
| 除非启用了 SASL,否则 SSL 配置无法正常工作。 | |
| 'registry.ccompat.use-canonical-hash' 设置将模式更改为 save 时可以匿名化表单。 | |
| 当向 auth 服务器传递错误的凭证时,不会抛出异常。 | |
|
上传新版本的 Protobuf 模式会失败,并显示 | |
| 使用 REST API 创建工件时,名称和描述会错误填充。 | |
| 如果禁用了最新版本,则无法获得最新的 schema 版本。 | |
| 对于复杂的数组对象,JSON 模式验证失败。 |
Service Registry Operator 解决的问题
| 问题 | 描述 |
|---|---|
| Operator 创建的服务中没有提供端口名称。 | |
| 部署销毁后缺少环境变量。 | |
| 用于管理环境变量的方法不正确。 | |
| 日志级别没有正确设置。 |
6.7. Service Registry 解决了 CVE 复制链接链接已复制到粘贴板!
| 问题 | 描述 |
|---|---|
| CVE-2023-2976 guava: Insecure 临时目录创建 [rhint-serv-2]. | |
| CVE-2021-46877 jackson-databind:如果使用 JDK 序列化序列化 JsonNode [rhint-serv-2],则 Possible DoS。 | |
| CVE-2022-3510 protobuf-java: Message-Type Extensions 解析问题会导致 DoS [rhint-serv-2]。 | |
| CVE-2022-3509 protobuf-java: Textformat 解析问题会导致 DoS [rhint- serv-2]。 | |
| CVE-2023-28867 graphql-java: crafted GraphQL 查询会导致堆栈消耗 [rhint-serv-2]。 | |
| CVE-2022-25881 http-cache-semantics: Regular Expression Denial of Service (ReDoS)安全漏洞 [rhint-serv-2]. | |
| CVE-2022-3782 keycloak:通过双 URL 编码 [rhint-serv-2] 的路径遍历。 | |
| CVE-2022-45787 apache-james-mime4j: Temporary File Information Disclosure in MIME4J TempFileStorageProvider [rhint-serv-2]. | |
| CVE-2022-4742 json-pointer: json-pointer [rhint-serv-2] 中的原型 pollution。 | |
| CVE-2022-40152 woodstox-core: woodstox to serialise XML 数据易受 Denial Service (DoS)攻击 [rhint-serv-2] 攻击。 |
6.8. Service Registry 已知问题 复制链接链接已复制到粘贴板!
以下已知问题在 Service Registry 2.4.x 中应用:
Service Registry 内核已知问题
registry-3413 - 默认启用旧 REST API 日期格式
为获得最大兼容性,并从旧版本的 Service Registry 更轻松地升级,REST API 中使用的日期格式与 OpenAPI 标准不兼容(因为旧版本中存在错误)。
在下一个 Service Registry 版本前,您必须升级所有客户端应用程序以使用最新的客户端版本。下一个版本将修复日期格式 bug,这会导致旧的客户端不再与 REST API 兼容。
要将 REST API 更新至兼容 OpenAPI,您可以修复此 Service Registry 中的日期格式错误,如下所示:
-
将所有客户端应用程序更新至
2.4.3.Final-redhat-00006,如 更新 2.x 客户端依赖项 中所述。 将以下环境变量设置为显示的值:
REGISTRY_APIS_V2_DATE_FORMAT=yyyy-MM-dd'T'HH:mm:ss'Z'
IPT-814 - Service Registry logout 功能与 RH-SSO 7.6 不兼容
在 RH-SSO 7.6 中,与 logout 端点一起使用的 redirect_uri 参数已弃用。如需了解更多详细信息,请参阅 RH-SSO 7.6 升级指南。因此,当 Service Registry 使用 RH-SSO Operator 保护时,点 Logout 按钮会显示 Invalid parameter: redirect_uri 错误。
有关临时解决方案,请参阅 https://access.redhat.com/solutions/6980926。
IPT-701 - CVE-2022-23221 H2 允许通过 JNDI 从远程服务器加载自定义类
当 Service Registry 数据存储在 AMQ Streams 中时,H2 数据库控制台允许远程攻击者使用 JDBC URL 执行任意代码。在默认情况下,Service Registry 不会受到攻击,需要进行恶意配置更改。
Service Registry Operator 已知问题
operator-42 - 自动生成 OpenShift 路由可能会使用错误的基本主机值
如果指定了多个 routerCanonicalHostname 值,则自动生成 Service Registry OpenShift 路由可能会使用错误的基本主机值。
附录 A. 使用您的订阅 复制链接链接已复制到粘贴板!
集成通过软件订阅提供。要管理您的订阅,请访问红帽客户门户中的帐户。
访问您的帐户
- 转至 access.redhat.com。
- 如果您还没有帐户,请创建一个帐户。
- 登录到您的帐户。
激活订阅
- 转至 access.redhat.com。
- 导航到 My Subscriptions。
- 导航到 激活订阅 并输入您的 16 位激活号。
下载 zip 和 tar 文件
要访问 zip 或 tar 文件,请使用客户门户网站查找下载的相关文件。如果您使用 RPM 软件包,则不需要这一步。
- 打开浏览器并登录红帽客户门户网站 产品下载页面,网址为 access.redhat.com/downloads。
- 向下滚动到 INTEGRATION 和 AUTOMATION。
- 点 Red Hat Integration 以显示 Red Hat Integration 下载页面。
- 单击组件的 Download 链接。
更新于 2023-09-22