Apache ActiveMQ "Classic"(及之前版本)可通过执行命令 ./bin/activemq run
直接运行。ActiveMQ Artemis broker 遵循不同的模式,其中项目分发作为 broker 的 "home",并创建了一个或多个 broker "实例",这些实例引用 "home" 以获取资源(例如 jar 文件),这些资源可以在 broker 实例之间安全共享。因此,必须在运行 broker 之前创建其实例。乍一看,这似乎是额外的开销,但在例如更新到新 Artemis 版本时,它会变得非常实用。
要创建 Artemis broker 实例,请导航到 Artemis home 文件夹并运行:./bin/artemis create /path/to/myBrokerInstance
命令行。
由于这种分离,在大多数情况下,升级 Artemis 非常容易。
建议选择一个与下载 Apache Artemis 位置不同的文件夹。这种分离允许您例如使用相同的 Artemis "home" 运行多个 broker 实例。它还简化了更新到更新版本的 Artemis。 |
1. 通用升级流程
升级可能需要在 版本 中注意的一些特定步骤,但一般的过程如下
-
导航到正在升级的 broker 实例的
etc
文件夹 -
打开
artemis.profile
和artemis-utility.profile
(在 Windows 上为artemis.profile.cmd
和artemis-utility.profile.cmd
)。它包含与升级相关的属性ARTEMIS_HOME='/path/to/apache-artemis-version'
如果在 Windows 上将 Artemis 作为服务运行,则必须执行以下额外步骤
-
导航到正在升级的 broker 实例的
bin
文件夹 -
打开
artemis-service.xml
。它包含与升级相关的属性<env name="ARTEMIS_HOME" value="/path/to/apache-artemis-version"/>
ARTEMIS_HOME
属性用于将实例链接到 home。在大多数情况下,可以通过将此属性的值更改为新的 broker home 的位置来将实例升级到更新版本。请参阅上述 版本 文档以了解其他升级步骤(如果需要)。
也可以像下一节中看到的那样自动执行许多这些更新步骤。
2. 升级工具
可以使用新 broker 下载的升级助手工具来刷新来自先前版本中现有 broker 实例的各种配置文件和脚本,从而自动化大部分工作以将实例升级到使用新版本。
在运行命令之前,应备份现有的 broker 实例。 |
cd $NEW_ARTEMIS_DOWNLOAD/bin/
./artemis upgrade PATH_TO_UPGRADING_INSTANCE
broker 实例脚本 bin/artemis
以及配置文件 etc/artemis.profile
和 etc/artemis-utility.profile
(在 Windows 上为 artemis.cmd
、artemis.cmd.profile
和 artemis-utility.cmd.profile
)将更新到新版本,并将其 ARTEMIS_HOME 设置为引用新的 broker 版本 home 路径。该工具还将在需要时创建新的 <instance>/etc/log4j2.properties
和 <instance>/etc/log4j2-default.properties
配置文件(例如,如果您是从 2.27.0 之前的版本迁移而来),并删除旧的 <instance>/etc/logging.properties
文件(如果存在)。
broker.xml
文件和数据保持原样。
对旧配置文件和脚本的大多数现有自定义将在刷新文件过程中丢失。因此,您应该将旧的配置文件与刷新的配置文件进行比较,然后根据需要移植您可能做出的任何缺少的自定义。升级命令本身会将它更改的旧文件复制到实例目录中的 同样,如果您自定义了旧的 |