web-dev-qa-db-fra.com

Configurez Tomcat pour utiliser un répertoire différents de Temp pour les téléchargements de fichier

Mon exemple de Tomcat est assis sur un lecteur avec peu d'espace restant. L'application que je suis en cours d'exécution, déplacez le fichier télécharge le serveur et dans un NAS. Pendant le téléchargement, toutefois, Tomcat conserve ce fichier localement, probablement dans le répertoire/temp.

Mon serveur dispose d'un deuxième lecteur de données avec beaucoup d'espace où je voudrais déménager cet annuaire TEMP à. Comment puis-je configurer Tomcat afin qu'il utilise un répertoire temporaire sur cet autre lecteur, c'est-à-dire. Comment puis-je déplacer ce répertoire?

Edit : Je suis exécuté Windows Server 2K3. J'ai essayé de définir le catalina_tmpdir env Var, mais Tomcat semblait l'ignorer.

Solution : J'utilise l'application "Monitor Tomcat" qui passe

-DJAVA.IO.TMPDIR = C:\Directory\Par défaut \

à la JVM. Cela remplace la variable environnementale que j'étais défini. Vous pouvez le trouver sous Java> options Java

Changer cela a corrigé mon problème.

13
rcampbell

Les Java.io.tmpdir à Tomcat est défini sur $CATALINA_BASE/temp. Vous pouvez le changer en définissant le $CATALINA_TMPDIR variable d'environnement avant de courir startup.sh pour Tomcat.

De catalina.sh:

#   CATALINA_TMPDIR (Optional) Directory path location of temporary directory
#                   the JVM should use (Java.io.tmpdir).  Defaults to
#                   $CATALINA_BASE/temp.
19
CoverosGene

Sous Windows Si vous courez Tomcat en tant que service, vous avez probablement une clé similaire à celle

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\myApplication\Parameters\Java

Définissez la valeur de la chaîne options (double-cliquez pour ouvrir) à la fin de l'existant comme suit:

-Djava.io.tmpdir=c:\{yourDir}

Cela a fonctionné pour moi.

3
Ken Smith