views:

140

answers:

1

I am running multiple Grails Applications on one of my servers. I am using Grails 1.2.2. I am using the default cache configuration in DataSource.groovy. When I try and run two Grails applications, they both seem to be using/writing to:

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

When I look at how to customize Ehcache with an ehcache.xml file from this page:

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

I do not see any information about specifying the locations and/or names or temporary files.

How do I avoid this issue when running multiple Grails applications on the same server (without turning off the cache)?

Clarification: In reference to Deepak's answer

Since I am deploying this as a war, would this be an example of something I would add to the environments block of Config.groovy?

environments {
    production {
        java.io.tmpdir = /tmp/myapp-prod.tmp
    }
}
+2  A: 

Hi Lloyd, I have faced this problem before. I simply specified a different location for the java.io.tmpdir system property while starting grails embedded server. For example.

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

You need to specify a different temp directory location for different grails applications.

Deepak Mittal
If you want to do this in a deployed war, you'll want to set the java.io.tmpdir when you start your application server (tomcat/jetty etc). You can use the same -Djava.io.tmpdir=/path/to/tmp/dir syntax to do that.
Adam C