Добавить элементы в classpath приложения (WAR) в WebLogic 10? - PullRequest
2 голосов
/ 23 октября 2009

В моем магазине уже несколько лет работает сервер приложений Oracle. Таким образом, прежде чем мы узнали лучше, мы разработали норму хранения файлов конфигурации приложения вне файла WAR, и каталог конфигурации конкретного приложения добавлялся в каждое приложение с использованием специфического для Oracle дескриптора развертывания. Этот дескриптор развертывания позволяет нам добавлять элементы classpath на уровне приложения, а не включать все зависимости в WAR.

Теперь мы столкнулись с обновлением до WebLogic 10.3, и мне нужно найти альтернативу для наших приложений, которая зависит от внешних настроек.

Есть ли в WebLogic способ добавить внешние jar или каталоги в загрузчик классов на уровне приложения? Я нашел способы добавить их в системный загрузчик классов, но я бы предпочел добавить их на уровень приложений, чтобы избежать необходимости заново обрабатывать приложения, не изменяя дескрипторы развертывания.

Возможно ли такое в WebLogic 10?

Ответы [ 3 ]

5 голосов
/ 02 октября 2010

После дальнейших исследований мы узнали о функции универсальной загрузки файлов в WebLogic .

Эта функция позволяет нам использовать План развертывания для нашего приложения и указывать «config-root» для приложения. Внутри config-root мы можем создать каталог с именем AppFileOverrides и переопределить любой файл в каталогах WEB-INF / classes или WEB-INF / lib.

Эта функция работает путем внедрения загрузчика классов непосредственно перед загрузчиком классов веб-приложения, поэтому любой ресурс, загруженный из пути к классам, будет найден в этом загрузчике классов перед тем, как что-либо связать в архив веб-приложения.

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

В дальнейшем я призываю наших разработчиков включить конфигурации в файл war, но это будет хорошо работать для устаревших приложений и в ситуациях, когда нам нужно изменить конфигурацию для заданной цели развертывания (разработка или разработка)

1 голос
/ 10 ноября 2009

На внешние файлы jar можно ссылаться при развертывании с использованием общих библиотек.

Грубо говоря, внешние jar-файлы должны быть «развернуты» как библиотеки. Затем на них можно ссылаться из файла weblogic-application.xml вашего приложения, используя дескрипторы library-ref.

см. Этот документ .

Хотя я не думаю, что вы можете предоставить внешние каталоги / конфигурационные файлы, кроме использования системного classpath.

0 голосов
/ 23 октября 2009

Насколько мне известно, это невозможно с Weblogic. Внешние файлы конфигурации действительно необходимо добавить в системный класс pathpath . Вы можете немного настроить загрузчик классов (см. фильтрация и порядок загрузки ), но нет ничего, что позволяло бы добавлять зависимости на «уровне приложения» в виде OAS. Для этого вам придется запускать отдельные домены, если сценарий, упомянутый выше, не подходит.

...