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

时间:2014-10-20 08:30:42

标签: tomcat liferay-6

需要在Tomcat集群环境中覆盖Liferay的portal-ext.properties,以便两个Tomcats具有

autodeploy.enabled=true and 
autodeploy.enabled=false

分别。我按照以下链接覆盖了portal-ext.properties -

Liferay: How to configure Liferay Portal

然而,这里的问题是Liferay的主页对于tomcat都是通用的,并且它们都共享相同的portal-ext.properties并且更改autodeploy.enabled = true会覆盖Tomcat的autodeploy属性。此外,webapp位置已安装NAS,并且两者共享相同的Web应用程序位置。

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

2 个答案:

答案 0 :(得分:0)

阅读tomcat文档后获得解决方案。

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

答案 1 :(得分:0)

我认为这里的一个简单解决方案是将autodeploy.enabled = true和autodeploy.enabled = false放在ROOT 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值保存在一个文件中。