Есть ли какой-нибудь способ, которым мы могли бы определить в коде среду, в которой развернут EAR? - PullRequest
0 голосов
/ 24 апреля 2020

Я сталкиваюсь с проблемой в моем проекте рестлета, когда мне приходится кодировать некоторые операции, только если EAR развернут в Websphere в проекте сервера рестлета. Есть ли способ получить информацию через код, чтобы узнать, где развернуты EAR / WAR? (EAR развернут в Websphere, Tomcat или на других серверах).

Ответы [ 2 ]

1 голос
/ 24 апреля 2020

Попробуйте создать экземпляр некоторого класса WebSphere API. Если вы получили NoClassDefFound, он, вероятно, не работает в WebSphere. Возможно, вам придется сделать class.forName (класс Websphere), чтобы ваш код компилировался за пределами websphere.

0 голосов
/ 24 апреля 2020

Если вам нужно только проверить, что, например, в классе Servlet / Filter вы можете искать атрибуты контекста сервлета, связанные с WebSphere, например, com.ibm.websphere.servlet.application.name = Default Web Application. Вы можете найти некоторые атрибуты looi = king в сервлете /snoop, если он у вас установлен.

Или, как предложил Брюс, попытаться загрузить некоторый класс WebSphere и быть готовым к ошибкам, когда их нет.

...