2010-02-11 2 views
2

Приложение EJB3 может работать поверх Oracle AS или JBoss AS. Есть ли способ узнать тип AS во время выполнения?Как определить тип сервера приложений, на котором запущено приложение?

+0

Дубликат http://stackoverflow.com/questions/1745836/determine-which-application-server-our-application-is-deployed-to и http://stackoverflow.com/questions/2117704/ how-can-i-define-the-j2ee-application-server-type-and-version – skaffman

+0

Наше приложение не является веб-приложением – tputkonen

+0

Я не сказал, что это так. Ни один из этих дубликатов не является специфичным для webapps. – skaffman

ответ

1

Вы можете проверить конкретный тип объекта во время выполнения с использованием отражения, например. EJBContext, который вводится приложением. сервер.

+0

Спасибо! В jboss он возвращает: org.jboss.ejb3.stateless.StatelessSessionContextImpl – tputkonen

1

Другим способом является проверка значения для приложения-сервера в свойствах системы.

// EXAMPLE: 
if (System.getProperty("catalina.base") != null) { 
    // Using Tomcat 
    ... 
else if (System.getProperty("jboss.server.name") != null) { 
    // Using JBoss 
    ... 
else if (System.getProperty("was.install.root") != null) { 
    // Using WebSphere 
    ... 

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

  • Нет связанных вопросов^_^