Приложение EJB3 может работать поверх Oracle AS или JBoss AS. Есть ли способ узнать тип AS во время выполнения?Как определить тип сервера приложений, на котором запущено приложение?
2
A
ответ
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
...
Дубликат 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
Наше приложение не является веб-приложением – tputkonen
Я не сказал, что это так. Ни один из этих дубликатов не является специфичным для webapps. – skaffman