Несколько приложений чаш Грааля на Tomcat

Я собираюсь развернуть несколько приложений чаш Грааля сверху единственного сервера Tomcat, и у меня есть следующие сомнения:

  1. С точки зрения использования памяти: это имеет значение для помещения общих чаш Грааля, освобождает под, совместно использовал/освободил вместо того, чтобы поместить их в военные файлы каждого приложения? Существует ли список тех банок?
  2. Если так, есть ли механизм для не упаковки тех банок в военном файле для "производственной" среды? Я использую NetBeans 6.7.
  3. Я собираюсь использовать Tomcat 5.5; есть ли какие-либо события, которые рекомендуют использовать 6.0 вместо этого?

Спасибо

7
задан xain 30 January 2010 в 05:12
поделиться

2 ответа

Я думаю, что лучше всего держать библиотеки на войне, потому что, если вы обновляете библиотеку, к которой предоставлен общий доступ, вы должны убедиться, что она совместима со всеми вашими приложения, которые его используют. Мы делаем это с помощью grails и Spring в целом, поэтому нам не нужно возвращаться и проводить тестирование совместимости при каждом обновлении.

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

См. Также:

Загружает ли Tomcat один и тот же файл библиотеки в память дважды, если они находятся в двух веб-приложениях?

5
ответ дан 7 December 2019 в 01:21
поделиться

1) размещение jar-файлов в shared / lib или common / lib может уменьшить объем памяти, необходимый в PermGen. ИМХО, самым большим преимуществом является то, что загрузка файла войны происходит намного быстрее. Но имейте в виду, что, как сказал TripWird, общие jar-файлы привязывают все развернутые приложения к одной и той же версии grails. Обновление превращается в игру по принципу «ничего или все».

2) если вы используете

grails prod war --nojars

, то все файлы jar исключаются из войны.

5
ответ дан 7 December 2019 в 01:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: