본문 바로가기
Server/WebLogic

[WebLogic] weblogic.xml 설정/파라미터

by 나비와꽃기린 2016. 7. 4.
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

weblogic.xml에 추가적인 설정이 필요할때 참조하면 좋을 것 같다.


출처 :::

http://hyeonstorage.tistory.com/27

 


Namespace

<weblogic-web-app xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app"> 

 Descriptor

Parameter 

Remarks 

 <session-descriptor>

 <timeout-secs>

 세션 타임아웃 시간, 기본단위 초(secs) web.xml session-timeout()이 설정되어 있다면, web.xml 설정값이 우선함

<invalidation-interval-secs>

 Bound Session Invalid 시킨다.

 <sharing-enabled>

 웹어플리케이션에서 세션을 공유할 때, 설정

<debug-enabled>

 HTTP sessions Debug 사용

 <id-length>

 세션 ID 길이를 설정하는 값

 <tracking-enabled>

 HTTP requests session tracking 활성화

 <cache-size>

 JDBC file-persistent sessions cache size 설정

 <max-in-memory-sessions>

 허용 Sesssion 최대 수 설정

 <cookies-enabled>

 Session cookies 사용 설정

 <cookie-name>

 Session tracking cookie 이름

 <cookie-path>

 Session tracking cookie path 설정

 <cookie-domain>

 cookie domain 설정, 설정된 Domain만 사용가능하다.

 <cookie-comment>

 cookie에 주석 설정

 <cookie-secure>

 HTTPS를 사용하여 cookie 전송여부

 <cookie-max-age-secs>

 cookie 최대 유지 시간

<persistent-store-type>

 memory : session storage 지속 사용 해제

replicated : memory와 같음, session data는 클러스터 서버에 복제

replicated_if_clustered : 웹 어플리케이션을 deploy할때, session storage이 클러스터 서버에 복제한다

async-replicated : 비동기 세션 복제

async-replicated-if-clustered : 활성화된 비동기 세션을 클러스터 환경의 웹어플리케이션에 복제한다. 단일 서버에 deploy시 세션 지속성/복제는 memory로 기본설정 된다.

file : 파일 기본 지속성 사용

async-jdbc : 어플리케이션에서 HTTP 세션에 대한 비동기 JDBC 지속성을 사용

jdbc : 영구적인 세션을 저장하는 데이터베이스를 사용

cookie : 모든 세션 데이터는 사용자의 브라우저에 있는 쿠키에 저장.

 <persistent-store-cookie-name>

 cookie 기반 지속성에 사용되는 쿠키의 이름을 설정

 <persistent-store-dir>

 파일기반 지속성에 사용되는 저장 디렉토리 지정

 <persistent-store-pool>

 지속성을 유지할 저장 JDBC Pool의 이름을 지정

 <persistent-store-table>

 JDBC 기반 영구 세션 저장시 사용할 DB 테이블 지정. (persistent-store-type JDBC일 경우만 사용)

 <jdbc-column-name-max-inactive-interval>

 wl_max-inactive-interval 칼럼의 alternative 제공

 <jdbc-connection-timeout-secs>

 * 사용 중지 항목

 <url-rewriting-enabled>

 Cookie가 브라우저에서 비활성화 될 경우 Session ID tracking하여 URL 사용

 <http-proxy-caching-of-cookies>

 FALSE로 설정시, 쿠키를 캐시하지 않는다.

 <encode-session-id-in-query-params>

 최신 서블릿은 컨테이너에 session ID 인코딩이 필요. 특정 웹 서버 파라미터 경로가 잘 작동하지 않을때, TRUE 설정

 <runtime-main-attribute>

 ServletSessionRuntimeMBean에 사용 getMainAttribute()는 이 문자열을 key로 세션 속성값을 반환한다.

 <cookie-http-only>

 모든 세션 쿠키는 브라우저 스크립트를 사용한다.

 <jsp-descriptor>

 <page-check-seconds>

 JSP 파일 변경 여부 확인하고 재 컴파일되는 초 간격을 설정

 <precompile>

 TRUE로 설정시 응용 프로그램을 배포하거나 재 배치할 때 자동으로 수정된 JSP 파일을 컴파일한다.

 <precompile-continue>

 TRUE로 설정시 JSP 파일의 일부가 컴파일시 실패해도, 모든 수정된 JSP 파일을 컴파일 한다.

 <keepgenerated>

 TRUE로 설정시 JSP 파일 컴파일시에 생성된 자바 파일을 저장

 <verbose>

 TRUE로 설정시 디버깅 정보는 브라우저 명령 프롬프트와 웹로직 서버 로그 파일에 출력한다.

 <working-dir>

 JSP 컴파일시 생성된 class 파일을 저장하는 디렉토리 설정

 <print-nulls>

 FALSE로 설정시, "null" 파라미터 값은 " " 로 표현

 <backward-compatible>

 TRUE로 설정시, 이전 버전과 호환된다.

 <encoding>

 JSP 페이지에서 사용되는 encoding 문자열 사용, default jsp encoding

 <package-prefix>

 모든 JSP 페이지가 컴파일되는 prefix 지정

 <exact-mapping>

 TRUE로 설정시, 첫번째 요청으로 새로 만들어지는 JSP 파일은 정확히 요청에 매핑됨. FALUSE로 설정시 웹 응용 프로그램 컨테이너가 JSP가 아닌 정확한 URL 매핑을 생성한다.

 <default-file-name>

 웹로직 서버가 JSP에 대해 생성된 JAVA Class 파일을 저장하는 기본 파일이름.

 <rtexprvalue-jsp-param-name>

 TRUE로 설정시, jsp:param 태그의 속성은 런타임 속성 값의 이름을 따른다.

 <optimize-java-expression>

 TRUE로 설정시, JSP 컴파일러는 런타임 성능을 향상시키기 위해 JAVA 표현을 최적화 합니다.

 <compress-html-template>

 TRUE로 설정시, 런타임 성능을 개선할 수 있는 JSP HTML을 압축합니다. &lt;pre&gt; 기능 사용 불가

 <container-descriptor>

 <check-auth-on-forward>

 Servlet 또는 JSP의 전달 요청에 인증이 필요할 때 태그를 사용. * Oracle에서 해당 설정은 하지 않는 것을 권고

 <redirect-with-absolute-url>

 TRUE로 설정시, 절대적 URL을 사용하여 redirect

 <index-directory-enabled>

 디렉토리 리스팅 활성, 비활성화

 <index-directory-sort-by>

 weblogic.servlet.FileServlet에 의해 생성된 디렉토리 목록이 정렬되는 순서. NAME, LAST_MODIFIED, SIZE

 <servlet-reload-check-secs>

 Servlet이 수정되었는지 확인하고 수정되었으면, 적용 단위 시간, 관리 콘솔에 지정된 값이 우선한다.
-1 : Servlet
확인 않함, 0 : 항상 Servlet을 확인, 1: 1초에 한번씩 Servlet 확인

 <resource-reload-check-secs>

 resource가 수정될 경우, 리로드 단위 시간, <page-check-seconds>가 설정되어 있으면, <page-check-seconds>를 따른다. 관리 콘솔에 지정된 값이 우선한다.

-1 : reload 하지 않음, 0: 항상 reload, 1 : 1초에 한번씩 reload

 <single-threaded-servlet-pool-size>

 SingleThreadMode 인스턴스 풀의 크기를 지정한다. * 현 버전에서 사용되지 않음

 <session-monitoring-enabled>

 TRUE로 설정시 런타임 Mbeans는 세션을 만든다. , 관리 콘솔 지정된 값이 우선한다.

 <save-sessions-enabled>

 TRUE로 설정시, redeploy undeploy시에도 session data 저장. FALSE로 설정시, 사라짐.

 <prefer-web-inf-classes>

 TRUE로 설정시, application 실행시 weblogic이 내장하고 있는 라이브러리보다, 배포폴더(WEB-INF\lib)의 라이브러리를 먼저 적용

 <default-mime-type>

 MIME 매핑값을 설정

 <client-cert-proxy-enabled>

 TRUE로 설정시, 각 웹로직 서버 인스턴스는 프록시 서버 플러그인이 실행되는 컴퓨터의 연결을 허용한다.  connection filter를 지정하지 않고 사용시, 잠재적 보안 취약점이 생길 수 있다.

 <relogin-enabled>

 사용자가 이미 로그인되어 있거나, 권한이 없을때 리소스에 액세스 시도시, FORBIDDEN(403) 에러 발생

 <allow-all-roles>

 웹 응용 프로그램에서 * (모든 범위) 사용 허용, 기본적으로 web.xml 설정이 우선한다.

 <native-io-enabled>

 TRUE로 설정시, 정적 파일을 default servlet에 등록하여 제공한다. Windows에 적용된다.

 <minimum-native-file-size>

 native-io-enabled true일때 사용, native I/O를 사용하기 위한 최소 파일 크기를 설정(byte)

 <disable-implict-servlet-mappings>

 TRUE로 설정시, 웹어플리케이션 컨테이너는 내부 servlet(*.jsp, *.class) 매핑을 생성하지 않습니다. 기본 servlet mapping 사용

 <temp-dir>

 임시 디렉토리 위치 지정

 <optimistic-serialization>

 TRUE로 설정시, getAttribute(name) servlet을 통해 전송될때, serialize-deserialize 하지 않는다. Weblogic.xml에 해당 값을 설정시, domain의 설정값은 무시된다.

 <show-archived-real-path-enabled>

 TRUE로 설정시, getRealpath() resource 파일의 표준 경로를 반환한다. FALSE로 설정시 웹응용프로그램에서 파일의 실제 경로를 반환한다.

 <require-admin-traffic>

 TRUE로 설정시 traffic이 관리자 채널을 통해 이동하는 것을 허용.

 <access-logging-disabled>

 TRUE로 설정시 logging overhead를 줄여 서버 처리량을 향상시킨다. FALSE로 설정시 응용 프로그램 액세스가 기록됨.

 <prefer-forward-query-string>

 TRUE로 설정시 웹로직 서버는 오직 전달된 query string만 반환한다.

 <charset-params>

 <input-charset>

 URL <resource-path> 경로가 포함되어 있을경우, <java-charset-name> 의 문자열로 지정

 <charset-mapping>

 <iana-charset-name>에 지정된 IANA 문자열을 <java-charset-name>요소로 문자열 지정

 <virtual-directory-mapping>

 <local-path>

 디스크의 물리적 위치를 지정

  <url-pattern>

 매핑될 URL 패턴 설정

 <url-match-map>

 

 Default 값은 J2EE 표준을 기반으로 하고 있다. 웹로직 서버에 포함된 다른 구현 SimpleApacheURLMatchMap을 사용할 수 있다.

 <security-permission>

 

 보안 정책 파일 구문을 기반으로 한 보안 권한을 지정.

 <context-root>

 

 context root 설정

 <wl-dispatch-policy>

 

 WORK MANAGER 이름을 식별하여 웹 어플리케이션의 WORK MANAGER로 할당한다. 이 요소를 설정하면, 웹 어플리케이션 레벨 파라미터는 무시될 수 있다.

 <servlet-descriptor>

 <servlet-name>

 배치된 web.xml의 서블릿 요소에 정의된 서블릿 이름을 지정.

 <run-as-principal-name>

 web.xml run-as-role-name로 정의된 이름 대신 주요 이름으로 지정

 <init-as-principal-name>

 run-as-principal-name 의 초기화 이름을 지정한다.

 <destroy-as-principal-name>

 servlet run-as-principal-name을 제거하는 메소드로 사용한다.

 <dispatch-policy>

 *사용하지 않는 옵션, wl-dispathc-policy가 정의되어진 값을 사용.

 <work-manager>

 <name>

 WORK MANAGER 이름

 <response-time-requsest-class>
<fair-share-requset-class>
<context-request-class>
<request-class-name>

 <response-time-request-class> 응답시간에 대한 목표 값을 정의. 목표값을 넘은 thread에 관하여요청에 대한 평균 대기 시간을 계산하고, 스케쥴링 요청
<fair-share-request-class>
요청을 처리하는데 필요한 평균 thread 시간을 지정 default 50
<context-request-class>
현재 유저나 현재 유저 그룹과 같은 context 정보를 기반으로 들어온 요청에 request-class-name 을 지정
<request-class-name> request-class-name
을 정의한다.

 <min-threads-constraint>
<min-threads-constraint-name>

 교착상태를 방지하기 위해 할당한 값만큼 최소한의 threads 수를 설정한다.

 <max-threads-constraint>
<max-threads-constraint-name>

 현재 실행되고 있는 requests의 스레드의 최대값을 제한할 수 있다.

 <capacity>
<capacity-name>

 서버는 request capacity에 도달하였을때, HTTP 503 에러와 함께 request를 거절합니다.

 <logging>

 <log-filename>

 로그 파일 이름을 지정. 파일 이름의 전체 주소 필요

 <logging-enabled>

 TRUE로 설정시 생성된 로그를 지정된 파일에 씁니다.

 <rotation-type>

 파일 순환 타입을 설정
bySize :
로그 파일이 지정한 file-size-limit에 도달하면 서버는 파일이름을 변경 한다.
byTime:
각 시간 간격으로 지정한 file-time-span 값에 따라 파일 이름을 변경한다.
None :
단일 파일에 축적됩니다. 크기가 커지면 내용을 삭제해줘야 합니다.

 <number-of-files-limited>

 TRUE로 설정시, 로그 파일 생성 수를 제한한다.(rotation-type bySize로 되어있을때), 제한 숫자가 넘어가면 가장 오래된 파일에 로그를 기록한다.)

 <file-count>

 해당 지정 숫자만큼 로그 파일 생성 수를 제한한다. (number-of-files-limited TRUE로 되어 있어야 한다.)

 <file-size-limit>

 파일당 로그를 기록하는 제한 용량입니다. (rotation-type bySize로 지정되어 있을때)

 <rotate-log-on-startup>

 서버의 시작주기 단위로 로그 파일 순환 여부를 지정한다.

 <log-file-rotation-dir>

 순환 로그 파일이 저장될 디렉토리 경로를 지정

 <rotation-time>

 로그 파일의 시간 기반 순환 기록 시작 시간 지정 hh:mm 형식 (rotation-type byTime 으로 되어있을때)

 <file-time-span>

 로그 파일을 다른 파일에 순환 기록 시간 간격 지정 (rotation-type byTime 으로 되어있을때)

 <library-ref>

 <library-name>

 라이브러리 모듈 참조를 위해 라이브러리 이름 지정

 <specification-version>

 라이브러리 모듈 참조 사양 버전 지정

 <implementation-version>

 라이브러리 모듈 참조 구현 버전 지정

 <exact-match>

 위의 사양이 완전히 일치하는지 여부를 지정합니다.

 <fast-swap>

 <enabled>

 TRUE로 설정시 어플리케이션 deploy FASTSWAP을 활성화 한다.

 <refresh-interval>

 해당 지정 초마다 응용프로그램 class의 변경사항을 확인 및 초기화.

 <redefinition-task-limit>

 중복 정의시 비동기적으로 수행. 재정의 작업의 수를 지정. 작업의 수가 지정 값을 초과하는 경우, 이전 작업이 자동으로 제거

 

 

사용 예)

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

<!—NAMESPACE START-->

<wls:weblogic-web-app

           xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-web-app" xmlns="http://www.bea.com/ns/weblogic/weblogic-web-app"

           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

           xsi:schemaLocation="http://www.bea.com/ns/weblogic/weblogic-web-app http://www.bea.com/ns/weblogic/weblogic-web-app/1.0/weblogic-web-app.xsd">

 

           <wls:context-root>/test</wls:context-root>

<!—다음과 같이 Descriptor에 해당하는 Parameter Value 나열해준다.->

           <wls:session-descriptor>

                      <wls:timeout-secs>4800</wls:timeout-secs>

                      <persistent-store-type>replicated_if_clustered</persistent-store-type>

                      <wls:cookie-name>PTL_SESSIONID</wls:cookie-name>

                      <wls:cookie-secure>true</wls:cookie-secure>

                      <wls:cookie-http-only>true</wls:cookie-http-only>

           </wls:session-descriptor>

          

</wls:weblogic-web-app>