Некоторый код может быть повторно использован в различных средах, включая сервер приложений Java EE.Иногда полезно знать, выполняется ли код на сервере приложений и какой это сервер приложений.
Я предпочитаю делать это, проверяя некоторые системные свойства, типичные для сервера приложений.Например, это может быть
jboss.server.name
для JBoss catalina.base
для Tomcat
Кто-нибудь знает подходящее имя свойства для других серверов?Weblogic, Websphere, Oracle IAS и другие?
Очень легко проверить, установлен ли у вас конкретный сервер приложений.Просто добавьте строку System.getProperties () в любой JSP, Servlet, EJB и распечатайте результат.
Я могу сделать это сам, но для установки и работы сервера потребуется много времени.
Я прочитал это обсуждение: Как определить тип сервера приложений, на котором запущено приложение?
Но я предпочитаю использовать системное свойство.Это более простое и абсолютно портативное решение.Код не зависит от других API, таких как Servlet, EJBContext или JMX.