【问题标题】:Multiple Grails Applications create Ehcache conflicts多个 Grails 应用程序创建 Ehcache 冲突
【发布时间】:2010-05-13 01:47:41
【问题描述】:

我在我的一台服务器上运行多个 Grails 应用程序。我正在使用 Grails 1.2.2。我在 DataSource.groovy 中使用默认缓存配置。当我尝试运行两个 Grails 应用程序时,它们似乎都在使用/写入:

/tmp/org.hibernate.cache.UpdateTimestampsCache.data

当我从这个页面查看如何使用 ehcache.xml 文件自定义 Ehcache 时:

http://ehcache.org/documentation/grails.html

我没有看到任何有关指定位置和/或名称或临时文件的信息。

在同一台服务器上运行多个 Grails 应用程序时如何避免这个问题(不关闭缓存)?

澄清:参考 Deepak 的回答

由于我将其部署为战争,这是否是我将添加到 Config.groovy 的环境块中的示例?

environments {
    production {
        java.io.tmpdir = /tmp/myapp-prod.tmp
    }
}

【问题讨论】:

    标签: hibernate grails ehcache


    【解决方案1】:

    我以前遇到过这个问题。我只是在启动 grails 嵌入式服务器时为 java.io.tmpdir 系统属性指定了一个不同的位置。例如。

    圣杯 -Djava.io.tmpdir=/home/dmittal/tmp run-app

    您需要为不同的 grails 应用程序指定不同的临时目录位置。

    【讨论】:

    • 如果您想在已部署的战争中执行此操作,您需要在启动应用程序服务器(tomcat/jetty 等)时设置 java.io.tmpdir。您可以使用相同的 -Djava.io.tmpdir=/path/to/tmp/dir 语法来执行此操作。
    【解决方案2】:

    将以下内容添加到您的 ehcache.xml 文件(我的位于项目的根目录中)以配置 ehCache diskStore 路径:

    <diskStore path="java.io.tmpdir"/>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-03
      • 1970-01-01
      • 2012-11-11
      • 1970-01-01
      • 2013-02-11
      相关资源
      最近更新 更多