7.3. OpenShift 上的 Fuse


本节列出了影响在 OpenShift 中部署 Fuse 应用程序的问题。有关影响特定容器的问题详情,请参阅 Spring Boot、Apache Karaf 上的 Fuse 部分,以及 JBoss EAP 上的 Fuse。OpenShift 发行版上的 Fuse 有以下已知问题:

从 Fuse 7.7 迁移到 7.8 BOM 时,ENTESB-15642 Candidate permutation 会失败

在 Fuse 7.8 中,如果您创建一个 Karaf 自定义分发(例如,基于 Fuse 7.8 Karaf 自定义 快速入门),然后将此自定义分发部署到 OpenShift,您可能会遇到涉及 javax.xml.bind 的 OSGi 导入冲突。发生此导入冲突,因为 Karaf 系统捆绑包导出了 JAXB API 软件包的多个版本(即 2.2 和 2.3 版本)。独立 Apache Karaf 不受此问题的影响,因为它确保 JAXB 软件包的正确版本(包括 2.2 和 2.3)可以通过系统捆绑包(即 捆绑包0)提供。这样可确保在安装其他功能(如 CXF)时,这些功能不必安装自己的 JAXB API 捆绑包,从而防止 API 冲突。

要临时解决这个问题,您应该在 Karaf 自定义分发的 POM 中添加以下行:

<library>mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jaxb-api-2.3/${version.org.apache.servicemix.specs.jaxb};type:=endorsed;export:=true</library>

如果需要将上例中的 ${version.org.apache.servicemix.specs.jaxb} 替换为 POM 文件中的相关字面版本,因为 Maven BOM 文件中定义的属性 不会 传送到 POM 文件。要发现与 version.org.apache.servicemix.specs.jaxb 属性的相关值,请从 POM 的 dependencyManagement 部分引用的 fuse-karaf-bom BOM 文件开始,并遵循递归导入的 BOM 文件链,直到您找到包含 version.org.apache.servicemix.specs.jaxb 的定义。例如,对于 Fuse 7.8,您可以在 https://maven.repository.redhat.com/ga/org/jboss/fuse/jboss-fuse-parent/7.8.0.fuse-780038-redhat-00001/jboss-fuse-parent-7.8.0.fuse-780038-redhat-00001.pom BOM 文件中找到 version.org.apache.servicemix.specs.jaxb 属性的值。

使用 OCP 4.5 时,在 operatorhub 中无法看到 ENTESB-15472 Fuse 7.8 operator
在 Fuse 7.8 中,Fuse Console、Fuse Console、Fuse Api Designer 和 Fuse Online)仅在使用 OCP 4.6 时在 OperatorHub 上提供。对于 OCP 4.5 及低于 Fuse 7.8 Operator 的版本,OperatorHub 不提供。要安装 Fuse 7.8 operator,推荐的升级路径是首先将 OpenShift 升级到 OCP 4.6 版本,然后将 Fuse operator 升级到 7.8 版本。
ENTESB-15034 Missing FMP quickstart spring-boot-camel-rest-3scale 中的 Openshift Service Object 上的标签
在 Fuse 7.8 中,spring-boot-camel-rest-3scale Quickstart 缺少标签和注解,使部署的服务被 3scale 自动发现。要临时解决这个问题,请按照 3scale 管理门户指南中的 可发现服务部分标准 中的说明,手动将缺少的标签和注解添加到服务对象 YAML 定义中。
ENTESB-15317 Apicurito 生成器 pod 未就绪
在 Fuse 7.8 中,Apicurito 生成器 pod 的健康检查端口不会启动。要临时解决这个问题,健康检查被配置为 ping HTTP 端口 8080 (启动)而不是 HTTP 端口 8181,它通常用于健康检查探测。
ENTESB-12238 [SB2] Quickstarts arquillian 测试失败

从 Fuse 7.5.0 开始,一些 Spring Boot 2 快速入门(从 Maven archetypes 或 Quickstart 模板生成的)无法构建和部署到 OpenShift。以下 Spring Boot 2 Maven archetypes 会受到影响:

  • spring-boot-camel-archetype
  • spring-boot-camel-infinspan-archetype
  • spring-boot-cxf-jaxrs-archetype
  • spring-boot-cxf-jaxws-archetype

以及以下 Spring Boot 2 模板:

  • spring-boot-2-camel-template
  • spring-boot-2-camel-infinspan-template
  • spring-boot-2-cxf-jaxrs-template
  • spring-boot-2-cxf-jaxws-template

要临时解决这个问题,在为其中一个快速入门生成 Maven 项目后,编辑项目的 Maven pom.xml 文件以添加以下依赖项:

<dependency>
  <groupId>org.assertj</groupId>
  <artifactId>assertj-core</artifactId>
  <version>2.4.1</version>
  <scope>test</scope>
</dependency>
ENTESB-10577 Apicurito 不支持 YAML Open API 规格文件
从 OpenShift 上的 Fuse 7.4 开始,Apicurito 默认 以 YAML 格式生成 OpenAPI 规格文件,但无法重新导入生成的 YAML 文件。目前只能将 JSON 格式导入到 Apicurito 中。
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部