2014-03-27 6 views
0

Что мне нужно сделать, чтобы развернуть одно и то же приложение EAR на одном сервере WebLogic?Как развернуть приложение EAR дважды на сервере WebLogic?

Что я имею в моем приложении:

  • EJB слоя (EJB 2.0)
  • WEB слоя (Struts, JSP)
  • каротаж слой (log4j)
  • DB слой (Oracle, данные источник создан в ВПУ)
  • WLS 10.3.0

Что мне нужно:

  • два экземпляра одного и того же приложения на ВПУ (уникальный URL (контекстно-корень) для каждого приложения), каждый экземпляр должен использовать другой источник данных и должны иметь различные конфигурации

Что такое моя проблема? Я не знаю, какие вещи я должен изменить в моем приложении для достижения своих целей:

  • конфигурации баз приложения на многих файлах свойств, эти файлы находятся в одной директории, которая добавляется к WLS классам (они не в EAR-файле)
  • многих классов являются статическими (все методы в классе являются статическими)
  • статического экземпляр регистратора в каждом классе
  • насчет объекта JNDI - я должен иметь разные имена для источников данных, сессия/лиц бобы и т. д.?
  • Что такое контекст-корень и гиперссылки в jsp-файлах?

EDIT

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

У меня есть некоторые вопросы, касающиеся изменений в моем приложении:

  • насчет статических методов в моих классах? Документация WLS говорит, что каждое приложение получает свою собственную иерархию загрузчика классов. Должен ли я бояться конфликтов? У меня есть статика в клиентской части и в части сервера (EJB).
  • как насчет имен EJB? Должен ли я иметь уникальные имена для каждого приложения? Должен ли я бояться конфликтов в дереве JNDI? Я использую методы lookup.
  • Что относительно статических регистраторов в моих классах? Могу ли я использовать тег prefer-application-packages в weblogic-application.xml во избежание конфликтов?

Очень благодарен за помощью.

+0

Этот вопрос действительно запутан ... Похоже, очень плохая практика развернуть одно и то же приложение дважды, чтобы использовать другой источник данных. Почему не просто два разных потока? Вы что-то пробовали и столкнулись с ошибками? Пока они называются по-разному, вы можете технически развернуть дважды –

+0

Первое сообщение отредактировано. Есть идеи? – user3430447

ответ

0

У меня такая же проблема, первое, что нужно сделать, это определить новый контекстный корень в файле application.xml и/или weblogic.xml.

В соответствии с этим ответом: https://stackoverflow.com/a/9869744/3841109 вам также нужно будет изменить название единицы сохранения.

Если мне удастся с моей проблемой, я перепечатывать дополнительную информацию ...

С наилучшими пожеланиями.

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