2015-07-22 2 views
1

У меня возникла ситуация, когда одни и те же строки кода должны запускаться как на Weblogic 11g (10.3.5), так и на Weblogic 12. Это происходит, когда мы (медленно) работаем над обновлением.Как определить текущую версию Weblogic Server

К сожалению, Weblogic 11, похоже, не устанавливает правильный атрибут запроса (FORWARD_QUERY_STRING), поэтому для выполнения определенной задачи мне нужен немного другой набор инструкций. Версия WLS 11 выдает исключение в WLS 12 и наоборот.

Мой вопрос: есть ли способ, чтобы во время выполнения я мог определить версию Weblogic и запустить соответствующие строки?

ответ

1

ServletContext.getServerInfo() сообщит серверную информацию, на которой он запущен.

Ссылка:

ServletContext.getServerInfo()

+0

Спасибо. Хотя мне пришлось искать вокруг, чтобы получить контекст сервлета, так как эта проверка находится в методе, который получает «HttpServletRequest» как единственный параметр. Мне нужно будет использовать 'request.getSession(). GetServletContext(). GetServerInfo()': ugh. – Menachem

0

Мы устанавливаем переменные среды для наших различных серверов WebLogic, так что исполняемый код может реагировать на конкретную версию. Задайте эту переменную в сценарии запуска сервера.

+0

Приятно, но у нас есть куча разных серверов, и изменение среды нецелесообразно. – Menachem

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