2010-09-01 2 views
1

Каковы наилучшие методы развертывания приложений Spring? У меня есть как минимум два приложения на основе Spring. Я развертываю их на Tomcat - два экземпляра одного и того же сервера с разными CATALINA_BASE.Как правильно развернуть приложение Spring на Tomcat?

В результате размер одного из моих приложений составляет 30 МБ, а другой - 19 МБ. У каждого из них есть такие же библиотеки, как Spring, Apache CXF, Hibernate, C3P0 и т. Д.

Правильно ли и безопасно (стабильно), чтобы эти библиотеки дублировались в каждом приложении и загружались 30 МБ для каждого развертывания? Или, может быть, мне нужно скопировать общие библиотеки?

ответ

4

Я рекомендую хранить их как есть.

Возможно, поместил некоторые из разделяемых библиотек в каталог lib Tomcat, но это просто затруднит обновление в будущем. если вы хотите обновить библиотеку, вам необходимо одновременно обновить оба приложения.

Tomcat дает каждой WAR свой собственный загрузчик классов и сохраняет их изолированными друг от друга. Наличие того же JAR в двух разных WAR не вызовет проблемы.

0

Если вы загружаете много уроков в каждой войне, вы, возможно, закончите пространство PermGen. Если вы делитесь баночками через lib-каталог tomcat, возможно, вам придется загружать меньше классов, поскольку обычный загрузчик классов загружает только один класс для всех приложений. Если в каждом приложении есть одна и та же банка, загрузчик классов, связанный с каждым приложением, может потенциально загружать те же классы, которые могут умножить ваше общее количество загруженных классов.

Тем не менее, для банок, которые вы отметили, ваш лучший выбор, вероятно, будет включать их в войны. В конечном итоге вы, вероятно, захотите использовать разные версии каждой технологии в разных войнах. Пространство PermGen всегда может быть увеличено с помощью аргумента java, если это станет проблемой.

+0

Я планирую перезапустить Tomcat после каждого деполя, чтобы избежать проблем с пространством PermGen. Возможно, я буду держать JDBC-драйверы в библиотеках Tomcat. –

Смежные вопросы