Я собираюсь развернуть несколько приложений чаш Грааля сверху единственного сервера Tomcat, и у меня есть следующие сомнения:
Спасибо
Я думаю, что лучше всего держать библиотеки на войне, потому что, если вы обновляете библиотеку, к которой предоставлен общий доступ, вы должны убедиться, что она совместима со всеми вашими приложения, которые его используют. Мы делаем это с помощью grails и Spring в целом, поэтому нам не нужно возвращаться и проводить тестирование совместимости при каждом обновлении.
Также я считаю, что tomcat загружает экземпляр класса для каждого приложения, поэтому вы не экономите память, используя его как общий класс.
См. Также:
1) размещение jar-файлов в shared / lib или common / lib может уменьшить объем памяти, необходимый в PermGen. ИМХО, самым большим преимуществом является то, что загрузка файла войны происходит намного быстрее. Но имейте в виду, что, как сказал TripWird, общие jar-файлы привязывают все развернутые приложения к одной и той же версии grails. Обновление превращается в игру по принципу «ничего или все».
2) если вы используете
grails prod war --nojars
, то все файлы jar исключаются из войны.