Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

My Tomcat instance is sitting on a drive with little remaining space. The application I'm running does move file uploads off the server and into a NAS. During the upload, however, Tomcat keeps this file locally, presumably in the /temp directory.

My server has a second data drive with plenty of space where I'd like to relocate this temp directory to. How can I configure Tomcat so that it uses a temp directory on this other drive, ie. how can I relocate this directory?

Edit: I'm running Windows server 2k3. I tried setting the CATALINA_TMPDIR env var, but Tomcat appeared to ignore it.

Solution: I'm using the "Monitor Tomcat" application which passes

-Djava.io.tmpdir=C:\some\default\directory

to the JVM. This was overriding the environmental variable I was setting. You can find it under Java > Java Options

Changing this has fixed my problem.

share|improve this question

2 Answers 2

up vote 4 down vote accepted

The java.io.tmpdir in Tomcat is set to $CATALINA_BASE/temp. You can change it by setting the $CATALINA_TMPDIR environment variable before running startup.sh for Tomcat.

From catalina.sh:

#   CATALINA_TMPDIR (Optional) Directory path location of temporary directory
#                   the JVM should use (java.io.tmpdir).  Defaults to
#                   $CATALINA_BASE/temp.
share|improve this answer
    
This appears to only work for *nix systems, because when I tried setting CATALINA_TMPDIR env var in Windows 2k3 and booted up Tomcat, it continued using the default temp folder. –  rcampbell May 30 '09 at 10:40
    
If you set a system environment variable in Windows, you may need to reboot before it takes effect. –  CoverosGene Jun 18 '09 at 13:32

If you're on UNIX/Linux you can just symlink your temp directory on a first drive to the corresponding directory on a second drive. Maybe not a most elegant solution but it worked for me sometime.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.