Tomcat распаковывает войны в каталог, отличный от appBase
Мы хотели бы настроить Tomcat следующим образом (где X
-SL-> Y
представляет символическую ссылку с именем X
указывая на путь Y
):
CATALINA_HOME/webapps
-SL->/var/data/nas/deploymentconfiguration_a
/var/data/nas/deploymentconfiguration_a/myapp.war
-SL->/var/data/nas/wars/app1.war
Идея состоит в том, чтобы иметь возможность конфигурировать, какие приложения развертываются на конкретном экземпляре Tomcat, имея серию символических ссылок на WAR в папке конфигурации развертывания и добавляя еще одну символическую ссылку с именем webapps из CATALINA_HOME в конкретную папку конфигурации развертывания.
Многие экземпляры Tomcat указывают на одну и ту же папку конфигурации развертывания.
Надеюсь понятно
Целый /var/data/nas
Дерево будет только для чтения.
В ходе испытаний главная проблема, с которой мы сталкиваемся, заключается в том, что Tomcat явно пытается взорвать войну в папке конфигурации развертывания (которую он считает appBase
), который только для чтения.
Есть ли способ заставить Tomcat распаковать свои войны в какую-то локальную рабочую папку (я не думаю, что это основано на быстром сканировании исходного кода), или это единственный способ остановить взрыв Tomcat от взрыва? военные файлы в первую очередь?
Мы используем Tomcat 6.
редактировать
Мы собираемся запустить несколько экземпляров Tomcat для одной и той же конфигурации. Таким образом, может быть 10 Tomcats, бегущих против deploymentconfiguration_a
и 10 против deploymentconfiguration_b
, но может быть некоторая общность между фактическими файлами WAR в каждой конфигурации развертывания (т.е. deploymentconfiguration_a
может иметь ВОЙНЫ 1, 2 и 5 в то время как deploymentconfiguration_b
может иметь ВОЙНЫ 1, 5 и 7).
Причина, по которой это RO, состоит в том, чтобы избежать случайного изменения конкретной конфигурации, а также чтобы избежать одного случая Tomcat, идущего по стопам другого.
1 ответ
На основании того, что вы мне дали (и спасибо, что били меня туда-сюда). Я думаю, что это ваши варианты:
- Вставьте unpackWars="false" в директиву Host в вашем файле server.xml и запускайте приложения непосредственно из файлов war.
- Вручную разверните войны на ваших NAS в правильные каталоги развертывания.
Я даю любую из этих рекомендаций только на основании того факта, что файловая система, в которой происходит это развертывание, будет читаться только для задействованных Tomcats.
Я бы лично выбрал вариант № 1. Если вам по какой-то причине не нужно просматривать отдельные файлы, нет веских причин для запуска с развернутыми файлами. (Если, конечно, у вас плохое приложение, которое должно ссылаться на файлы во время войны...)
Я мог бы также пойти так далеко, чтобы также поставить autoDeploy="off". Разве вы не думаете, что собираетесь изменять файлы военных действий под этими группами Tomcats на месте?