2010-05-13 48 views
3

我在其中一臺服務器上運行多個Grails應用程序。我正在使用Grails 1.2.2。我正在使用DataSource.groovy中的默認緩存配置。當我嘗試和運行兩個Grails應用程序,它們都似乎可以用/寫:多個Grails應用程序創建Ehcache衝突

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

當我看看如何用的Ehcache定製的Ehcache從這個頁面.xml文件:

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

我沒有看到有關指定的位置和/或名稱或臨時文件的任何信息。

在同一臺服務器上運行多個Grails應用程序時(無需關閉緩存),我該如何避免此問題?

澄清:在參考Deepak的答案

因爲我部署這是一場戰爭,這會是東西我會增加Config.groovy中的環境塊的例子嗎?

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

回答

5

我以前遇到過這個問題。我只是在啓動grails嵌入式服務器時爲java.io.tmpdir系統屬性指定了一個不同的位置。例如。

Grails的 -Djava.io.tmpdir = /家庭/ dmittal/tmp中運行的應用程序

你需要指定不同的Grails應用程序不同的臨時目錄位置。

+0

,你會當你啓動你的應用程序服務器(tomcat/jetty等)時,要設置java.io.tmpdir。您可以使用相同的-Djava.io.tmpdir =/path/to/tmp/dir語法來執行此操作。 – 2010-09-20 16:31:40

0

以下內容添加到您的ehcache.xml中的文件(該礦位於項目的根目錄)配置了Ehcache diskStore路徑:如果你想這樣做在部署戰爭

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