3

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

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

当我查看如何使用此页面中的 ehcache.xml 文件自定义 Ehcache 时:

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

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

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

澄清:参考迪帕克的回答

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

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

2 回答 2

6

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

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

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

于 2010-05-13T04:30:52.153 回答
0

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

<diskStore path="java.io.tmpdir"/>
于 2011-01-06T11:00:57.373 回答