2.4. 配置不在自定义资源定义(CRD)中公开的项
您可以使用 ActiveMQArtemis
自定义资源中的 brokerProperties
属性来配置代理的任何配置设置。如果要配置设置,使用代理 Properties
特别有用:
-
ActiveMQArtemis
CRD 没有公开 -
在
ActiveMQArtemisAddress
和ActiveMQArtemisSecurity
CRD 中公开。
从 AMQ Broker 7.12 开始,ActiveMQArtemis Address
和 ActiveMQArtemisSecurity
CRD 都被弃用
在 brokerProperties
属性下添加的配置设置存储在 secret 中。此 secret 作为代理 pod 的属性文件挂载。在启动时,属性文件会在应用 XML 配置后直接应用到内部 java 配置 bean。
- 例子
- 在以下示例中,单个属性应用到配置 bean。
spec: ... brokerProperties: - globalMaxSize=500m ...
spec:
...
brokerProperties:
- globalMaxSize=500m
...
在以下示例中,多个属性应用于嵌套配置 Bean 集合,以创建名为 target
的、带有另一个代理的代理连接。
使用 brokerProperties
属性提供对在 OpenShift Container Platform 上无法为 AMQ Broker 配置的许多配置项的访问。如果错误地使用,一些属性可能会对您的部署造成严重后果。使用此方法配置代理时始终谨慎。
代理属性的状态报告
在
brokerProperties
属性中配置的项目的状态在ActiveMQArtemis
CR 的BrokerPropertiesApplied
status 部分中提供。例如:- lastTransitionTime: "2023-02-06T20:50:01Z" message: "" reason: Applied status: "True" type: BrokerPropertiesApplied
- lastTransitionTime: "2023-02-06T20:50:01Z" message: "" reason: Applied status: "True" type: BrokerPropertiesApplied
Copy to Clipboard Copied! Toggle word wrap Toggle overflow reason
字段包含以下值之一,用于显示brokerProperties
属性中配置的项目的状态:已应用
- OpenShift Container Platform 将更新的 secret 传播到每个代理 pod 的属性文件中。
AppliedWithError
-
OpenShift Container Platform 将更新的 secret 传播到每个代理 pod 的属性文件中。但是,在
brokerProperties
配置中发现了一个错误。在 CR 的status
部分中,检查message
字段以识别无效属性并在 CR 中更正它。 OutOfSync
-
OpenShift Container Platform 还没有将更新的 secret 传播到每个代理 pod 的属性文件中。当 OpenShift Container Platform 将更新的 secret 传播到每个 pod 时,
reason
字段值会更改为Applied
。
代理定期检查配置更改,包括对 pod 上挂载的属性文件的更新,并在检测到任何更改时重新载入配置。但是,在重启代理前,对在代理启动时只读取的属性更新(如 JVM 设置)不会被重新加载。有关 重新加载哪些属性的更多信息,请参阅配置 AMQ Broker 中的重新加载配置更新。
其它信息
有关您可以在 CR 中的 brokerProperties
元素中配置的属性列表,请参阅配置 AMQ Broker 中的代理属性。