WAS/WebLogic

[정보] weblogic.xml 이해

투칼론 2018. 1. 2. 21:32
반응형
웹애플리케이션(WAR)의 WEB-INF/ 디렉터리에 web.xml과 weblogic.xml 디플로이먼트 디스크립터가 있다. web.xml 은 J2EE 표준에서 요구하는 기본적인 설정이다. 이에 반하여 weblogic.xml은 웹로직에서만 지원하는 웹애플리케이션 설정하는 기능을 한다.

weblogic.xml의 기본 형식은 아래와 같다.

 <?xml  version='1.0'  encoding='UTF-8?>

 <weblogic-web-app>

   ...

   <!--내용-->

   ...

 </weblogic-web-app> 


<!--내용-->에 들어갈 태그는 아래와 같다. 웹로직 9.0 이상 기준으로 자주 사용하는 태그 항목에 대해 설명하고자 한다.

 디스크립터 

 파라미터

 설명

 <context-root>

 

 웹애플리케이션의 context-root를 지정하며, WebLogic에서는 배치 시에 웹애플리케이션명이 기본적으로 context-root로 지정됨.

 <context-root>/</context-root> 는 root로 지정하는 방법

 <description>

 

 Web애플리케이션에 대한 설명 

 <weblogic-version>

 

 weblogic.xml의 weblogic 버전 정보(단순 정보임) 

 <session-descriptor>

 <timeout-secs>

 세션 타임아웃(단위:초). web.xml에 지정된 설정이 우선시되고, web.xml 은 분단위 임에 주의해야 함.

 <invalidation-interval-secs>

 타임아웃 또는 invalid한 세션을 정리하는 주기. 기본값은 60초

 <sharing-enabled>

 WebLogic에서 사용하는 세션의 사용을 타 애플리케이션에 전달해 처리 후 다시 전달받는 형태의 경우에 허용할것인지 여부를 설정함. 9.0이상에서는 기본갑이 false임. 

 <cookie-name>

 세션의 이름을 지정하는 것으로, 같은 cookie-name을 갖는 경우 접속 시에 세션이 끊긴다. 이를 피하기 위해 애플리케이션마다 별도의 이름을 지정할 수 있다. 기본값은 JSESSIONID임. 

 <jsp-descripter>

 <page-check-seconds>

 JSP 페이지에 수정이 발생하거나 타임스탬프가 갱신되는 경우 변경으로 인식해 변경 소스를 리로드 함.

 -1값은 false, 0값은 항상 리로드, 1이상은 해당 초 간격으로 체크하여 리로드 함. 기본값은 -1임. 

 <precompile>

 true로 설정되면, 배포 시에 또는 WebLogic 기동 시에 미리 컴파일된다.

 <keepgenerated>

 JSP 소스는 호출 시에 자바소스로 변경된 후, 컴파일하는 클래스 형태가 만들어지는데, 중간 과정인 자바 소스 파일을 생성된 채로 유지할것인지 설정. 기본값은 false 임 

 <working-dir>

 JSP를 컴파일하는 임시 디렉터리의 위치를 설정. 기본적으로는 $DOMAIN_HOME/servers/[SERVER_NAME]/tmp/_WL_user/로 설정되어 있음 

 <backward-compatible>

 하위 버전과 호환 여부 설정

 <container-descriptor>

 <servlet-reload-check-secs>

 WEB-INF/classes를 대상으로 수정이 발생하거나 타임스탬프가 갱신되는 경우 변경을 확인해 리로드 하는 옵션. 초단위로 주기적인 확인을 하며 -1의 경우 false, 0의 경우 항상, 1이상은 해당 초 단위로 확인한다.  

 <resource-reload-check-secs>

 resource path를 대상으로 수정이 발생하거나 타임스탬프가 갱신되는 경우 변경을 확인해 리로드 하는 옵션. 초단위로 주기적인 확인을 하며 -1의 경우 false, 0의 경우 항상, 1이상은 해당 초 단위로 확인한다. 

 <prefer-web-inf-classes> 

 CLASSPATH가 읽히는 순서는 OS > JVM > WLS > APP 순으로 WEB-INF의 lib나 classess 하위 디렉터리가 가장 낮다. 

 APP를 WLS보다 우선 클래스로딩을 하기 위해서 설정하는 옵션임. 기본값은 false임 

 <optimistic-serialization>

 true로 설정하면, getAttribute(name) 호출 시에 serialize-deserialize를 생략하므로 성능에 최적화됨


이 외에도 다양한 파라미터를 제공하므로 매뉴얼 참조가 필요하다.