第 2 章 在 Apache Karaf 上将 Hotfix Patch 应用到 Fuse

2.1. 修补功能和捆绑包

补丁是 ZIP 存档,其中包含 Apache Karaf 安装中 Fuse 中更新的文件版本。它们是:

  • 捆绑包:它们是最常见的,在最简单的情形中,热修补可以包括单一捆绑包。
  • 分别存在于 $FUSE_HOME/etc$FUSE_HOME/bin 目录中的配置文件和脚本。
  • 不是普通捆绑包的库,并位于 $FUSE_HOME/lib 目录中。
  • 功能定义更改:通常的 Karaf 功能包含在 $FUSE_HOME/system 目录中可用的描述符中,但热修补程序不会更改这些文件。相反,热修复补丁可能会更改功能覆盖文件,即 $FUSE_HOME/etc/org.apache.karaf.features.xml。这可让您通过升级给定的功能的捆绑包,甚至使用其他捆绑包来以热修补代码方式更改功能定义。

升级和热修复补丁之间的区别

  • 修补程序补丁:修补程序仅包含针对一个或多个关键漏洞的修复。它们适用于您当前的 Red Hat Fuse 发行版。它的主要目的是更新现有发行版中的一些捆绑包和库。
  • 升级:Apache Karaf 升级机制上的 Fuse 可让您对 Apache Karaf 容器应用修复,而无需在 Karaf 上重新安装 Fuse 的更新版本。如果升级导致了与部署的应用程序相关的问题,它还允许您回滚升级。Apache Karaf 升级过程上的 Fuse 会更新任何文件,包括捆绑 JAR、配置文件和任何静态文件。

对于 Apache Karaf Standalone 上的 Fuse,您可以使用 Karaf 控制台补丁 shell 中的命令应用补丁。这个方法不可破坏性且不可逆。以下流程也可用于升级 Apache Karaf 上的红帽 Fuse。有关升级的更多信息,请参阅 在 Apache Karaf 上升级 Fuse