多个Grails应用程序会产生Ehcache冲突

时间:2010-05-13 01:47:41

标签: hibernate grails ehcache

我在我的一台服务器上运行多个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
    }
}

2 个答案:

答案 0 :(得分:5)

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

  

的grails   -Djava.io.tmpdir = / home / dmittal / tmp run-app

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

答案 1 :(得分:0)

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

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