본문 바로가기
WAS/WEBLOGIC

19. weblogic.xml

by coldplayer83 2023. 7. 12.
728x90

참고)

8점대)

 

웹 애플리케이션(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로 지정
<description>     웹 어플리케이션에 대한 설명
<weblogic-version>     weblogic.xml의 weblogic 버전 정보(단순 정보)
<session-descriptor> <timeout-secs> 3600초 세션 타임아웃(단위: 초) 시간
(최소값 1, 최대값 정수 MAX_VALUE)
web.xml에 지정된 설정이 우선시되고 web.xml은 분단위 임에 주의
<invalidation-interval-secs> 60초 타임아웃 또는 invalid한 세션을 정리하는 주기
(최소값1, 최대값 604,800(1주일))
<sharing-enabled>
false
(9.0 이상)
WebLogic에서 사용하는 세션의 사용을 타 어플리케이션에 전달해 처리 후 다시 전달받는 형태의 경우에 허용할 것인지 여부를 설정
<cookie-name> JSESSIONID 세션의 이름을 지정하는 것으로 같은 cookie-name을 갖는 경우 접속 시에 세션이 끊김
이를 피하기 위해 어플리케이션마다 별도의 이름을 지정할 수 있음
<jsp-descriptor> <page-check-seconds>   JSP 페이지에 수정이 발생하거나 타임스탬프가 갱신되는 경우 변경으로 인식해 변경 소스를 리로드 함
-1 : false (운영모드 기본값)
0 : 항상 리로드
1 이상 : 해당 초 간격으로 체크하여 리로드

세션 클러스터 사용하고 있지 않아야 함
<precompile> false true로 설정하면 (재)배포시 또는 WebLogic 기동 시에 수정된 jsp 파일을 미리 컴파일함
<keepgenerated> false JSP 소스는 호출 시에 자바소스로 변경된 후, 컴파일하는 클래스 형태가 만들어지는데 중간 과정인 자바 소스 파일을 생성된 채로 유지할 것인지 설정. 
<working-dir>   JSP 컴파일시 생성된 class 파일을 저장하는 디렉토리 설
기본적으로는 ${DOMAIN_HOME}/servers/${SERVER_NAME}/tmp/_WL_user/로 설정되어 있음
<backward-compatible> true 하위 버전과 호환 여부 설정
true로 설정시 이전 버전과 호환
<container-descriptor> <servlet-reload-check-secs> 1 WEB-INF/classes를 대상으로 수정이 발생하거나 타임스탬프가 갱신되는 경우 변경을 확인해 리로드 하는 옵션
초단위로 주기적인 확인을 하며 -1의 경우 false, 0의 경우 항상, 1 이상은 해당 초 단위로 확인
콘솔에 지정한 값이 우선함
<resource-reload-check-secs> 1 resource path를 대상으로 수정이 발생하거나 타임스탬프가 갱신되는 경우 변경을 확인해 리로드 하는 옵션
초단위로 주기적인 확인을 하며 -1의 경우 false, 0의 경우 항상, 1 이상은 해당 초 단위로 확인
콘솔에 지정한 값이 우선함
<prefer-web-inf-classes> false CLASSPATH가 읽히는 순서는 OS > JVM > WLS > APP 순으로 WEB-INF의 lib나 classes 하위 디렉토리가 가장 낮다.
APP을 WLS보다 우선 클래스로딩을 하기 위해서 설정하는 옵션
콘솔에 지정한 값이 우선함
<prefer-application-packages>
  항상 APP에서 로딩하는 패키지 설정
ex) 
<prefer-application-packages>
      <package-name>javax.faces.*</package-name>
      <package-name>com.sun.faces.*</package-name>
      <package-name>com.bea.faces.*</package-name>
</prefer-application-packages>
<prefer-application-resources>   항상 APP에서 로딩하는 리소스 설정
ex)
<prefer-application-resources>
      <resource-name>javax.faces.*</resource-name>
      <resource-name>com.sun.faces.*</resource-name>
      <resource-name>com.bea.faces.*</resource-name>
      <resource-name>META-INF/services/javax.servlet.ServletContainerInitializer</resource-name>
</prefer-application-resources>
<optimistic-serialization> false true로 설정하면, getAttribute(name) 호출 시에 serialize-deserialize를 생략하므로 성능에 최적화
weblogic.xml에 해당 값을 설정시 domain의 설정값은 무시
<save-sessions-enabled>
false
true로 설정시 redeploy, undeploy시 세션 데이터 날아감 방지. false로 설정시 날아감

'WAS > WEBLOGIC' 카테고리의 다른 글

21. ssl 설정  (1) 2023.07.13
20. weblogic 버전 확인  (0) 2023.07.12
18. weblogic 삭제  (0) 2023.07.12
17. weblogic 클러스터링  (0) 2023.07.06
16. DataSource 생성  (0) 2023.07.06