如何使用 Consul 配置 Liferay

How to configure Liferay using Consul

我们在我们的应用程序中使用 Liferay 6.2 门户。 我们想用取自 Consul 的值更新 portal-ext.properties 中的属性。 例如,我们想用来自 Consul 的值设置 属性 virtual.hosts.valid.hosts。 我们要避免的一种选择是使用 Consul 模板并使用 bash 脚本更新文件。

在 Liferay 中是否有一种编程方式来更新属性? (以挂钩为例)

一些属性可以通过挂钩动态更新。您可以在 liferay-hook.xml 的 dtd 中找到它们。只需创建一个挂钩并查找 dtd url(我目前正在 phone,无法很好地访问此类资源 url)

您可以使用 conf.d。它基本上是一个 tilny 配置管理器,可以从 etcd 或 consul 获取配置并将其写入本地文件。 我用它来配置 Liferay 实例的 Kubernetes 集群。我没有独立示例,但 here is 创建 conf.d 配置文件的代码(来自 CoseOS 的云配置)。

由于没有简单的编程方式以编程方式配置 Liferay 属性,我们决定修改启动 sh 脚本以从 Consul 读取数据并在我们的自定义门户中更新配置-ext.properties