2010-02-11 5 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/ j2ee 애플리케이션 서버 유형 및 버전 결정 방법 – skaffman

+0

애플리케이션이 웹 애플리케이션이 아닙니다. – tputkonen

+0

나는 그런 말을하지 않았습니다. 그 복제본은 웹 애플리케이션에만 해당되는 것이 아닙니다. – skaffman

답변

1

리플렉션을 사용하여 런타임에 구체적인 유형의 개체를 확인할 수 있습니다 (예 : 앱에 의해 삽입 된 EJBContext 섬기는 사람.

+0

감사합니다 !! jboss에서 다음을 반환합니다. org.jboss.ejb3.stateless.StatelessSessionContextImpl – tputkonen

1

또 다른 방법은 시스템 속성에서 app-server 특정 값을 확인하는 것입니다. 의

// 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 
    ... 
관련 문제