Назад | Перейти на главную страницу

Настройте Tomcat для использования другого временного каталога для загрузки файлов

Мой экземпляр Tomcat находится на диске, на котором осталось мало места. Приложение, которое я использую, перемещает загрузки файлов с сервера в NAS. Однако во время загрузки Tomcat сохраняет этот файл локально, предположительно в каталоге / temp.

На моем сервере есть второй диск с данными с большим количеством места, куда я бы хотел переместить этот временный каталог. Как я могу настроить Tomcat так, чтобы он использовал временный каталог на этом другом диске, т.е. как я могу переместить этот каталог?

Редактировать: У меня Windows server 2k3. Я попытался установить переменную env CATALINA_TMPDIR, но Tomcat, похоже, ее проигнорировал.

Решение: Я использую приложение "Monitor Tomcat", которое проходит

-Djava.io.tmpdir = C: \ some \ default \ каталог

в JVM. Это переопределило переменную окружения, которую я устанавливал. Вы можете найти это под Ява > Параметры Java

Изменение этого решило мою проблему.

В java.io.tmpdir в Tomcat установлено значение $CATALINA_BASE/temp. Вы можете изменить его, установив $CATALINA_TMPDIR переменная среды перед запуском startup.sh для Tomcat.

Из catalina.sh:

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

В Windows, если вы запускаете Tomcat как службу, у вас, вероятно, есть ключ, похожий на

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

Установите строковое значение options (дважды щелкните, чтобы открыть) в конце существующего как:

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

Это сработало для меня.

Если вы используете UNIX / Linux, вы можете просто связать свой временный каталог на первом диске с соответствующим каталогом на втором диске. Может быть, не самое элегантное решение, но когда-то оно работало для меня.