【问题标题】:Multiple grails applications on TomcatTomcat 上的多个 Grails 应用程序
【发布时间】:2011-01-11 03:16:32
【问题描述】:

我即将在单个 Tomcat 服务器上部署多个 grails 应用程序,我有以下疑问:

  1. 在内存使用方面:将通用 grails 库放在 shared/lib 下而不是将它们放在每个应用程序的 war 文件中是否会有所不同?有这些罐子的清单吗?
  2. 如果是这样,是否有一种机制不将这些 jar 打包到“生产”环境的 war 文件中?我使用的是 NetBeans 6.7。
  3. 我即将使用Tomcat 5.5;有没有推荐使用 6.0 的体验?

谢谢

【问题讨论】:

    标签: tomcat grails libs


    【解决方案1】:

    我认为最好的做法是让库保持在战争中,因为如果您更新一个共享的库,那么您必须确保它与您使用它的所有应用程序兼容。我们通常使用 grails 和 spring 执行此操作,这样我们每次升级时都不必返回并进行兼容性测试。

    我也相信 tomcat 会为每个应用程序加载一个类的实例,因此您不会通过将其用作公共类来节省内存。

    另见:

    Does Tomcat load the same library file into memory twice if they are in two web apps?

    【讨论】:

      【解决方案2】:

      1) 将 jars 放在 shared/lib 或 common/lib 中可能会减少 PermGen 所需的内存量。恕我直言,最大的优势是上传战争文件要快得多。 但请记住,正如 TripWird 所说,共享 jar 将所有已部署的应用程序与同一个 grails 版本联系起来。升级变成了“一无所有”的游戏。

      2) 如果你使用

      grails prod war --nojars
      

      然后所有的 jar 文件都被排除在战争之外。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-08-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-06-07
        • 1970-01-01
        相关资源
        最近更新 更多