Почему для нескольких экземпляров tomcat одного и того же CATALINA_HOME требуются отдельные библиотеки? - PullRequest
0 голосов
/ 18 октября 2011

Я читаю Tomcat: полное руководство, чтобы узнать, как развернуть несколько экземпляров tomcat из одной и той же установки.Они описывают, как вам нужно отделить папки, которые специфичны для каждого экземпляра, таким образом оставляя основной материал CATALINA_HOME чистым;это разделение также обеспечивает основу для чистых обновлений между версиями tomcat.

Многие вещи, которые они рекомендуют извлекать в специальные каталоги экземпляров, имеют смысл, такие как conf и webapps - эти папки содержат очевидныеспецифичные для приложения данные.Тем не менее, также рекомендуется вытащить все папки, которые содержат банки, содержащие классы времени выполнения.Процитируем прямо из их книги:

Кроме того, некоторые jar-файлы и файлы классов, возможно, придется загружать из общих, серверных и общих деревьев каталогов.Это означает, что для работы нескольких экземпляров каждый экземпляр Tomcat должен иметь свой собственный набор этих каталогов;они не могут совместно использоваться двумя по-разному настроенными экземплярами JVM Tomcat.

Почему отдельным экземплярам требуются свои собственные файлы JAR?Разве невозможно указать два одновременно выполняющихся jvm на один и тот же набор файлов jar?

Примечание: речь идет о tomcat 5.5 и 6.0

1 Ответ

0 голосов
/ 19 октября 2011

Заметьте, я отвечаю на свой вопрос.Прежде всего, важно отметить, что причина, по которой вам нужны копии экземпляров каталогов lib, не имеет ничего общего с одновременным доступом jvm к одному набору jar-файлов.

Причина, по которой вы должныСкопируйте эти библиотечные файлы в структуры каталогов вашего экземпляра, также известные как CATALINA_BASE, в том, что в tomcat 5.5 и более ранних версиях 6.0 tomcat мог использовать только одну папку в качестве источника пути к классам для библиотек, найденных в shared, server и common.Это означает, что если для данного экземпляра tomcat требуются добавления или модификации библиотек в этих папках, вы должны либо сделать целые новые экземпляры конкретных версий shared, common и server, либо изменения библиотек, если они выполнены в CATALINA_HOME, будутвлияет на ВСЕ экземпляры, запущенные из этого CATALINA_HOME.

Начиная с TOMCAT 6.0.24 (или около того ...) возможность загружать классы из общих папок, папок общих папок и серверной библиотеки как в CATALINA_BASE, так и в CATALINA_HOME, обеспечивает более высокую степень детализации управления, чтобы ваши изменения могли бытьположить в базу, где они будут переопределять ДОМОЙ при необходимости.Это означает, что вам нужно только внести определенные изменения в ваш BASE;нет необходимости копировать все это.И на самом деле, в этих более новых версиях tomcat предлагается довольно много настроек в отношении этих библиотек и их многоуровневого влияния на путь классов каждого экземпляра tomcat.

...