gpt4 book ai didi

具有多个服务器实例的 Liferay

转载 作者:行者123 更新时间:2023-12-04 10:53:19 25 4
gpt4 key购买 nike

我同时使用多个 Liferay 项目(不同的门户、插件、用户和用户组等),并且经常需要在它们之间切换。这个开关需要很多步骤,比如

  • 编辑portal-ext.properties(更改Liferay 数据库,并编辑一些自定义项目特定属性),并编辑'portal-setup-wizard.properties'
  • 从 Eclipse 服务器实例添加/删除 portlet 主题和 Hook ,有时清理 Tomcat 的“数据”“Webapps”和“工作”文件夹
  • 转到 Liferay 的控制面板/服务器/插件安装并重新索引 portlet,例如“用户和组织”或“文档和媒体”

  • 因此,我认为使用新的 tomcat 和 JRE 为每个项目创建一个新的服务器实例是一个不错的主意。当我不得不切换项目时,我可以停止旧服务器并启动另一个。起初,我认为(实际上被建议)使用 相同的 Liferay 插件 SDK (6.1.0),应该没问题,只要 服务器实例版本相同 .

    实际上,这并不是 100% 完美的。虽然大部分工作已经完成,但这里和那里都有一些问题,比如没有正确部署主题,没有应用 Hook 等。据我了解,有一些 [Liferay SDK] - [Liferay Server] 绑定(bind),并且这意味着只有 1 个服务器(我创建的第一个)可以完全工作。
    例如,通过调查 [Liferay SDK 文件夹]/bild.[用户名].properties,我可以看到一些引用特定服务器/JRE 位置的属性:
        app.server.portal.dir
    app.server.lib.global.dir
    app.server.deploy.dir
    app.server.type
    app.server.dir

    所以,我的问题是,我应该如何处理多个 Liferay 项目?
  • 多服务器实践是处理多个项目的好方法吗?
  • 如果是,我应该为每个服务器创建不同的 SDK 吗?也许还有一个不同的 Eclipse 工作区?或者有什么方法可以使用相同的 SDK
  • 使用不同 Liferay 版本的服务器怎么样?
  • 最佳答案

    就个人而言,我为每个项目设置了自己的源、tomcat、数据库等,即使这意味着重复。如今,存储很便宜,这使这成为可能。当然,您的里程可能非常高,但我想我会与您分享我的设置。

    我有一个项目目录,其中包含我的所有项目,如下所示:

    /projects
    /foo-project
    /bar-project
    /my-project

    在我的一个项目中
    /my-project
    /tomcat
    /bin
    /conf
    ...
    /src
    /portal
    ... my portal source ...
    /plugins
    ... my plugin source ...
    /portal-ext.properties
  • 然后,我将 tomcat 设置为使用不同的端口(8080、8081、8082 等),这样如果我必须或想要的话,我可以让它们全部运行。
  • 我设置 Liferay 为每个 Liferay 实例使用不同的数据库。
  • 我把 portal-ext.properties作为 tomcat 目录的兄弟,Liferay 将读取该文件(假设默认行为)。这提供了快速简便的编辑以及弄清楚您是如何设置每个项目的。

  • 优点应该很清楚。您可以从一个项目“走开”进入另一个项目,而无需拆除和设置。当你回来的时候,一切都还是你离开时的样子。如果您想回答有关您尚未从事的项目的问题,上下文切换也更快且更有帮助。

    根据每个项目的复杂性,多实例可能不适合您。 Hooks 和 EXT 可能会相互冲突,并且您的项目似乎已经存在这种情况。

    如果你能负担得起空间(不多),这是我作为 Liferay 开发人员找到的最快的方式。

    关于具有多个服务器实例的 Liferay,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16163326/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com