[WAS] 서블릿에서 WAS 확인하는 방법..
나빛
안녕하세요,
다름이 아니라 tomcat에서 운영되고 있는 서비스를 weblogic8.1 에 적용하고 있습니다.
약간의 소스 정리를 통해서 weblogic에 서비스를 돌리는데까지는 성공했는데요,
같은소스를 2가지 WAS에서(tomcat //weblogic8.1)
같이 운영해야 되는 상황입니다.서블릿 init() 를 통해서,
여러가지 설정이 저장된 xml 파일을 로드하게 되어 있는데요,
처음에는 xml 안에 was의 종류를 넣어서 구분할려고 했습니다.
그런데 문제는 환경파일을 로드하기전에는
현재 WAS가tomcat인지 weblogic 인지몰라서 문제가 생기는 군요.
혹시 비슷한 상황으로 고민하셨던 분들은 해결책을 공유해 주시면 감사하겠습니다 (--)(__)
일단 클래스에 static 으로 타입값을 넣어 놓고 분기시켜 놓았어요ㅠ
(하지만 원하는 해결책이 아닙니다, 자바소스를 수정하지 않고 설정을 하려고 합니다
매번 이런경우일때 마다 자바 소스를 컴파일 할 수 가 없어서요)질문의 요점은
1) init 실행 전에 WAS 종류를 알 수 있을까요?
2) 만약 없다면 어떤 방법이 좋을까요?
정도가 될듯 하네요;;;
읽어 주셔서 감사합니다 :)
-
VE
path에 값이 없어서 =_= 적용은 어렵군요;;
-
재미
worldtopi수다님 답변 감사드립니다 !! 값이 없을때에 대한 고민이 있었는데, worldtopi수다님 답변을 활용해서 보안해야 할거 같네요~!! 감사감사!! 복 받으실거예요 @.@
-
윤슬이뿌잉
위의 방법이 좋긴한데요..어차피 전역객체내변수가 다른 객체에서 처리되는형식이라면
다음과 같은 방법도 가능할것 같네요.(최선은 아닌듯^^)
String classpath = System.getProperty(\java.class.path\);
if(classpath.indexOf(\resin\)-1){//문제점 폴더가 이름이 resin이어야만 함
\t
}else if(classpath.indexOf(\bea\)-1){//문제점 폴더가 이름이 bea이어 -
뭘봐요
수다님 답변 너무 너무 감사드립니다!! :)
복 받으실거예요@.@ -
우울녀
저라면, ServletContextListener를 이용해서 WAS가 실행될때 바로 환경정보를 읽어와서 톰캣인지 웹로직인지 정보를, 싱글톤 전역객체내 변수에 보관한후 다른 곳에서 참조해서 사용할것 같아요. (정답은 아니지만..)
-
캔서
WAS가 제일먼저 하는일중에 하나가 web.xml(배포기술자)에서 정보를 읽어오는걸테고, 그런후에 ServletContext객체를 생성하고 그리고 나서 몇개 절차를 거친후 서블릿 컨텍스트 리스너가 있으면, contextInitialized() 메소드가 호출되는 식으로 알고 있거든요. (잘해결되시길 바래요 ^^)