在Tomcat集群环境中重写Liferay的“autodeploy.enabled”属性

在Tomcat集群环境中重写Liferay的“autodeploy.enabled”属性,tomcat,liferay-6,Tomcat,Liferay 6,需要在Tomcat集群环境中重写Liferay的portal-ext.properties,以便两个Tomcat autodeploy.enabled=true and autodeploy.enabled=false 分别。我已经按照下面的链接覆盖了portal-ext.properties- 然而,这里的问题是,Liferay的主页对于tomcat来说是公共的,并且它们共享相同的portal-ext.properties,并且changing autodeploy.enabled=tru

需要在Tomcat集群环境中重写Liferay的portal-ext.properties,以便两个Tomcat

autodeploy.enabled=true and 
autodeploy.enabled=false
分别。我已经按照下面的链接覆盖了portal-ext.properties-

然而,这里的问题是,Liferay的主页对于tomcat来说是公共的,并且它们共享相同的portal-ext.properties,并且changing autodeploy.enabled=true覆盖了tomcat的两个autodeploy属性。此外,webapp位置是NAS安装的,并且两者共享相同的webapp位置


我需要做什么才能使两个tomcat的autodeploy.enabled属性不同?

在阅读了tomcat文档后得到了解决方案

创建两个文件夹,例如“PortalProperties 1”和“PortalProperties 2”,这两个文件夹中的Tomcat和copy portal-ext.properties都可以访问。 转到第一个tomcat的位置-{liferay_home}/tomcat/conf并打开catalina.properties文件。 搜索属性-common.loader并在末尾添加一个逗号分隔值-/home/flex/portalproperties 1,其中/home/flex是文件夹portalproperties 1的绝对路径,并将相应地更改。 对其他tomcat实例执行相同的操作,但将PortalProperties 1替换为PortalProperties 2。 打开portalProperties1/portal-ext.properties并更改属性-auto.deploy.enabled=false。 只为这只雄猫做这件事。 重新启动两个Tomcat。
就是这样,现在只有一个tomcat将执行自动部署,并且不会引发异常。

我认为一个简单的解决方案是将autodeploy.enabled=true和autodeploy.enabled=false放在根web应用程序的portal-ext.properties中。 如果还没有,可以创建portal-ext.properties并将其放置在/tomcat/webapps/ROOT/WEB-INF/classes文件夹中/

您需要确保liferay根文件夹的portal-ext.properties中没有值autodeploy.enabled=true或false

Liferay在这两个位置检查portal-ext.properties


这是因为您可以将所有常用的portal-ext.properties值保存在一个文件中。

这里的问题是webapps文件夹是NAS挂载的,并且两个Tomcat都有相同的webapps文件夹。因此,如果将portal-ext.properties文件放在两个Tomcat共享的根文件夹中,那么只有一个portal-ext.properties文件。