제7장 domain.xml의 웹 엔진 내부 JSP 엔진 설정

JEUS의 설정 파일인 domain.xml 내의 웹 엔진의 JSP 엔진과 관련된 태그에 대한 설명을 찾을 수 있다.

7.1. 소개

레퍼런스는 다음 형식으로 구성되어 있다.

  1. XML Schema/XML 트리: XML 설정 파일의 모든 태그 리스트를 정리했다. 각 노드의 형식은 다음과 같다.

    1. 태그 레퍼런스로 빨리 찾아보기 위해서 각 태그마다 인덱스 번호( 예: (11) )를 붙여 놓았다. 태그 레퍼런스에서는 이 번호 순서로 설명한다.

    2. XML Schema에서 정의한 XML 태그명을 <tag name> 형식으로 표시한다.

    3. XML Schema에서 정의한 Cardinality를 표시한다. “?” = 0개나 1개의 element, “+” = 1개 이상의 element, “*” = 0개 이상의 element, (기호가 없음) = 정확히 1개의 element

    4. 몇몇 태그에는 “P” 문자를 붙여 놓았는데, 해당 태그는 성능에 관계되는 태그라는 것을 뜻한다. 이 태그는 설정을 튜닝할 때 사용된다.

  2. Element Reference: 트리에 있는 각 XML 태그를 설명한다.

    1. Dynamic: 동적 설정 반영 가능

    2. Non-Dynamic: 동적 설정 반영 불가능, Dynamic이 설정되지 않은 항목들이 보통 이에 해당 하나 특별히 설명이 있는 경우 이 항목이 표시된다.

    3. Description: 태그에 대한 간단한 설명.

    4. Value Description: 입력하는 값과 타입.

    5. Value Type: 값의 데이터 타입. (예: String)

    6. Value Type Description: 값의 데이터 타입에 대한 설명

    7. Default Value: 해당 XML을 사용하지 않았을 때 기본적으로 사용되는 값.

    8. Defined Value: 이미 정해져 있는 값.

    9. Example: 해당 XML 태그에 대한 예.

    10. Performance Recommendation: 성능 향상을 위해서 추천하는 값.

    11. Child Elements: 자신의 태그 안에 사용하는 태그.

7.2. XML Schema/XML 트리

7.3. Element Reference

(117) <domain> <servers> <server> <web-engine> <jsp-engine>
Description 웹 애플리케이션에 포함된 JSP를 컴파일 및 서비스하기 위해 사용되는 JSP 엔진을 설정한다.
Value Type jsp-engineType
Child Elements

(118) check-included-jspfile?

(119) keep-generated?

(120) use-in-memory-compilation?

(121) graceful-jsp-reloading?

(122) graceful-jsp-reloading-period?

(123) jsp-work-dir?

(124) java-compiler?

(125) compile-output-dir?

(126) compile-option?

(127) compile-encoding?

(118) <domain> <servers> <server> <web-engine> <jsp-engine> <check-included-jspfile>
Description JSP 파일의 변경 여부를 확인할 때, include된 JSP 파일들, Tag 파일들의 변경 여부를 확인해서 변경된 경우 해당 JSP 파일을 재컴파일하는 기능이다.
Value Description Boolean 타입으로, 기본값은 true이다.
Value Type boolean
Default Value true

(119) <domain> <servers> <server> <web-engine> <jsp-engine> <keep-generated>
Description JSP 페이지로부터 생성된 Java 소스 파일을 컴파일하여 서블릿 클래스 파일을 생성한 이후에 Java 소스 파일의 저장 여부를 결정한다. 디버깅 목적으로 이 파일들은 유용하다.
Value Description Boolean 타입으로, 기본값은 true이다.
Value Type boolean
Default Value true

(120) <domain> <servers> <server> <web-engine> <jsp-engine> <use-in-memory-compilation>
Description 서비스 중인 jsp 파일을 새로 컴파일해야 할 때 .java 및 .class 파일을 메모리 상에 생성해서 컴파일하는 기능이다. 단, .class 파일의 경우에는 추후 리부팅 시에 재컴파일하는 일이 없도록 백그라운드 쓰레드를 통해서 파일 시스템 상에 쓴다. 또한 <keep-generated> 가 true 인 경우에는 .java 파일을 백그라운드 쓰레드를 통해서 파일 시스템 상에 쓴다.
Value Description boolean
Value Type boolean
Default Value true
Defined Value

default (true : 해당 기능을 항상 사용한다.)

(121) <domain> <servers> <server> <web-engine> <jsp-engine> <graceful-jsp-reloading>
Description JSP 파일이 변경된 경우 지정된 주기마다 이를 감지하여 JSP 페이지 인스턴스를 새로 생성한다.
Value Description Boolean 타입으로, 기본값은 false이다.
Value Type boolean
Default Value false
Defined Value

default (false(해당 기능을 사용하지 않는다.))

(122) <domain> <servers> <server> <web-engine> <jsp-engine> <graceful-jsp-reloading-period>
Description Graceful Jsp Reloading가 동작되는 주기를 설정한다.
Value Description 밀리세컨드
Value Type long
Default Value 30000

(123) <domain> <servers> <server> <web-engine> <jsp-engine> <jsp-work-dir>
Description JSP를 Java로 생성한 파일과 그 소스 파일을 컴파일한 클래스 파일들이 저장되는 위치를 설정한다.
Value Description JSP 컴파일을 위해서 사용되는 절대 경로를 입력한다.
Value Type token

(124) <domain> <servers> <server> <web-engine> <jsp-engine> <java-compiler>
Description JSP의 Java 소스를 서블릿 클래스로 컴파일하기 위한 Java 컴파일러를 지정한다. 기본적으로는 JVM에 포함된 Java Compiler API를 사용한다. 단, Java 컴파일 작업은 순간적으로 메모리 소모량이 많기 때문에 실 서비스 환경에서는 메모리 문제를 일으킬 수 있다. 이 경우에는 javac를 선택해서 별도의 프로세스로 컴파일하거나 AppCompiler를 통해 미리 컴파일해서 사용하기를 권장한다.
Value Type token
Default Value java6

(125) <domain> <servers> <server> <web-engine> <jsp-engine> <compile-output-dir>
Description JSP 파일에 의해 생성된 클래스 파일들을 Jsp Work Dir 디렉터리가 아닌 다른 디렉터리에 저장할 수 있는 설정이다. 설정하지 않으면 클래스 파일들은 Jsp Work Dir 디렉터리에 위치한다. 본 설정은 보통 사용되지 않는다.
Value Description JSP 클래스 파일들을 저장할 디렉터리의 절대 경로를 입력한다.
Value Type token

(126) <domain> <servers> <server> <web-engine> <jsp-engine> <compile-option>
Description 서블릿 컴파일러로 사용되는 옵션으로, 일반적으로는 사용되지 않는다.
Value Description 컴파일에 사용되는 적절한 컴파일 옵션이다(Java Compiler 설정 항목을 참조).
Value Type token

(127) <domain> <servers> <server> <web-engine> <jsp-engine> <compile-encoding>
Description JSP 파일로부터 생성하는 Java 파일의 인코딩은 JSP 파일의 그것과 동일하게 하면 된다. jeus.servlet.jsp.modern=false 일 때 외에는 더이상 참조하지 않는다.
Value Type token

7.4. 웹 엔진 내의 JSP 엔진 관련 domain.xml 파일 예제

[예 7.1] 웹 엔진 그룹 내의 JSP 엔진 domain.xml 파일 예제

<?xml version="1.0"?>
<domain xmlns="http://www.tmaxsoft.com/xml/ns/jeus">
    <servers>
        <server>
            <web-engine>
                <!-- JSP-related settings for this context -->
                <jsp-engine>
                    <!-- whether save the generaged java source file or not -->
                    <keep-generated>true</keep-generated>

                    <!-- set the java compiler to compile the generated java file -->
                    <java-compiler>javac</java-compiler>

                    <!-- set the absolute-path directory that servlet sources and class files -->
                    <jsp-work-dir>/home/MyJSPWorkdir/</jsp-work-dir>

                    <!-- set the generated class file location to absolute-path, not in jsp-work-dir-->
                    <compile-output-dir>/home/MyJSPWorkdir/</compile-output-dir>

                    <!-- compiler option to compile the generated java file from jsp -->
                    <compile-option>-g:none -verbose</compile-option>

                    <!-- set the charset encoding when the generaged servlet source from jsp complie -->
                    <compile-encoding>8859_1</compile-encoding>

                    <!-- whether check the included jsp files changed in compile or not -->
                    <check-included-jspfile>true</check-included-jspfile>
                </jsp-engine>
            </web-engine>
        </server>
    </servers>
</domain>