Configure o Tomcat para usar um diretório temporário diferente para uploads de arquivos

12

Minha instância do Tomcat está em uma unidade com pouco espaço restante. O aplicativo que estou executando move os uploads de arquivos do servidor para um NAS. Durante o upload, no entanto, o Tomcat mantém esse arquivo localmente, presumivelmente no diretório / temp.

Meu servidor tem uma segunda unidade de dados com muito espaço para onde gostaria de realocar esse diretório temporário. Como posso configurar o Tomcat para que ele use um diretório temporário nesta outra unidade, ou seja, Como posso relocar esse diretório?

Editar: estou executando o servidor do Windows 2k3. Eu tentei definir o CATALINA_TMPDIR env var, mas o Tomcat pareceu ignorá-lo.

Solução: estou usando o aplicativo "Monitor Tomcat" que passa

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

para a JVM. Isso estava substituindo a variável ambiental que eu estava configurando. Você pode encontrá-lo em Java > Opções Java

Alterar isso resolveu meu problema.

    
por rcampbell 28.05.2009 / 07:24

3 respostas

14

O java.io.tmpdir no Tomcat está definido como $CATALINA_BASE/temp . Você pode alterá-lo definindo a variável de ambiente $CATALINA_TMPDIR antes de executar startup.sh para o 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.
    
por 28.05.2009 / 14:30
1

Se você está no UNIX / Linux, você pode apenas ligar simbolicamente o seu diretório temporário em uma primeira unidade para o diretório correspondente em uma segunda unidade. Talvez não seja uma solução mais elegante, mas funcionou para mim em algum momento.

    
por 28.05.2009 / 10:35
1

No Windows, se você estiver executando o Tomcat como um serviço, provavelmente terá uma chave semelhante a

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

Defina o valor da string options (clique duas vezes para abrir) no final do existente como:

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

Isso funcionou para mim.

    
por 22.05.2015 / 19:29

Tags