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