제19장 jeus-ejb-dd.xml 설정

내용 목차

19.1. 소개
19.2. XML Schema/XML 트리
19.3. Element Reference
19.4. jeus-ejb-dd.xml 파일 예제

여기에서 EJB 모듈의 DD인 jeus-ejb-dd.xml에서 사용되는 설정을 찾을 수 있다.

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

  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: 자신의 태그 안에 사용하는 태그.

(1) <jeus-ejb-dd>
Description 단일 JEUS EJB 모듈의 최상위 항목으로, 각각의 jeus-ejb-dd.xml 파일에는 이 태그가 반드시 존재한다.
Value Type jeus-ejb-ddType
Child Elements

(3) module-info

(22) beanlist

(250) ejb-relation-map

(258) message-destination

(262) client-view-path

(263) class-ftp-unit

(264) java-security-permission

(267) batch-thread-pool

(277) library-ref

(2) < jeus-ejb-dd > <module-info>
Description EJB 모듈 전체에 적용되는 포괄적인 정보를 설정한다.
Value Type ejb-module-infoType
Child Elements

(4) ejb11-compatible

(5) role-permission

(12) unspecified-method-permission

(16) unspecified-container-transaction

(17) use-dynamic-proxy-for-ejb2

(18) timer-service

(3) < jeus-ejb-dd >< module-info > <ejb11-compatible>
Description EJB의 버전이 1.1일 때 사용하는 옵션이다. 이 설정을 하면 CMP의 버전을 ejb-jar.xml에 명시하지 않은 경우 1.1로 취급한다.
Value Type boolean
Default Value false

(4) < jeus-ejb-dd >< module-info > <role-permission>
Description EJB 모듈에서의 User Principal과 ejb-jar.xml에서 사용하는 Role의 관계를 설정한다.
Value Type rolePermissionType
Child Elements

(6) role

(7) principal

(8) actions

(9) classname

(10) excluded

(11) unchecked

(5) < jeus-ejb-dd >< module-info >< role-permission > <role>
Description Principal들에게 부여할 Role 이름을 지정한다.
Value Type token

(6) < jeus-ejb-dd >< module-info >< role-permission > <principal>
Description Role에 해당하는 User Principal을 지정한다.
Value Type token
Value Description Security의 accounts.xml에서 지정되어 있는 Principal 이름을 입력한다.

(7) < jeus-ejb-dd >< module-info >< role-permission > <actions>
Description Role Permission 객체에 대한 액션을 정의한다. 기본으로 사용되는 Role Permission은 정해진 액션이 없다.
Value Type token

(8) < jeus-ejb-dd >< module-info >< role-permission > <classname>
Description 사용할 Role Permission Class Name을 지정한다. 지정하지 않으면 JEUS에서 기본적으로 제공하는 클래스가 사용된다.
Value Type token

(9) < jeus-ejb-dd >< module-info >< role-permission > <excluded>
Description Role을 사용하지 못하도록 설정한다.
Value Type emptyType

(10) < jeus-ejb-dd >< module-info >< role-permission > <unchecked>
Description 아무런 체크 없이 Role을 사용 가능하도록 설정한다.
Value Type emptyType

(11) < jeus-ejb-dd >< module-info > <unspecified-method-permission>
Description ejb-jar.xml에서 Permission이 지정되어 있지 않은 메소드에 대해 설정한다.
Value Type unspecified-method-permissionType
Child Elements

(13) role

(14) excluded

(15) unchecked

(12) < jeus-ejb-dd >< module-info >< unspecified-method-permission > <role>
Description ejb-jar.xml에서 Permission이 지정되어 있지 않은 메소드의 Permission을 부여할 Role을 설정한다. 다른 Role의 Principal은 해당 메소드들을 호출할 Permission을 얻지 못한다.
Value Type token
Value Description ejb-jar.xml의 <assembler-description>에 지정된 role name을 입력한다.

(13) < jeus-ejb-dd >< module-info >< unspecified-method-permission > <excluded>
Description ejb-jar.xml에서 Permission이 지정되어 있지 않은 메소드를 exclude시킨다. 따라서 어떤 Principal은 해당 메소드들을 호출할 Permission을 얻지 못한다.
Value Type emptyType

(14) < jeus-ejb-dd >< module-info >< unspecified-method-permission > <unchecked>
Description ejb-jar.xml에서 Permission이 지정되어 있지 않은 메소드를 unchecked로 간주한다. 따라서 모든 Principal은 해당 메소드들을 호출할 permission을 얻는다.
Value Type emptyType

(15) < jeus-ejb-dd >< module-info > <unspecified-container-transaction>
Description ejb-jar.xml에서 컨테이너 트랜잭션이 지정되어 있지 않은 메소드에 대한 설정이다. 기본값은 -Djeus.ejb.transaction.attribute.default 이고, 값이 설정되어 있지 않으면 EJB 3.0의 경우에는 스펙에 따라 REQUIRED가 사용되고 EJB 2.1의 경우에는 JEUS 5와 동일하게 Supports가 기본값으로 사용된다.
Value Type trans-attributeType
Defined Value

NotSupported

Supports

Required

RequiresNew

Mandatory

Never

(16) < jeus-ejb-dd >< module-info > <use-dynamic-proxy-for-ejb2>
Description (Since JEUS 6 Fix#7) JEUS 6 Fix#6 이후 버전부터는 EJB 2.x 스타일의 Bean에서 기존 RMI Stub 방식 대신 Dynamic Proxy 방식을 사용할 수 있다. Dynamic Proxy 방식이란, 클라이언트별로 직접 RMI Stub 클래스를 로딩해서 사용하는 대신에, 미리 생성되어 있는 RMI Stub에 대한 Dynamic Proxy(java.lang.reflect.Proxy)를 이용해서 메소드를 호출하는 방식이다. 이러한 Dynamic Proxy 방식을 이용해야만 Local Call Optimization(같은 JVM에서 호출되는 EJB Remote Call을 RMI를 통하지 않고 Local Call로 호출되도록 하여 성능을 향상시켜주는 기능)을 사용할 수 있다. 만약, 이 EJB를 원격에서 호출하는 클라이언트가 있고, 그 클라이언트가 사용하는 JEUS 버전이 JEUS 6 Fix#6 보다 낮은 경우에는 호환성 문제가 발생하므로 이 옵션을 false로 설정한다. 아무것도 지정하지 않을 경우에는 기본값으로 EJB 2.x 스타일의 Bean에 대해서 Dynamic Proxy 방식을 사용한다.
Value Type boolean
Default Value true

(17) < jeus-ejb-dd >< module-info > <timer-service>
Description Timer 서비스를 클러스터 와이드하게 사용하기 위한 설정이다. 외부 DB가 반드시 필요하므로 Resources의 DataSource에 DB 리소스 값을 설정해야 한다.
Value Type ejb-module-timer-serviceType
Child Elements

(19) timer-type

(20) primary-server

(18) < jeus-ejb-dd >< module-info >< timer-service > <timer-type>
Description Timer 타입을 결정한다. Local은 EJB 모듈이 Deploy된 서버에서 Timer를 수행한다. EJB 모듈이 클러스터링되어 여러 서버에 Deploy되어 있을 경우 동일한 작업을 하는 Timer들이 여러 서버에서 수행될 수 있다. 그런 문제를 방지하기 위해 클러스터 와이드한 속성의 Timer가 필요한 경우에는 Failover 또는 LoadBalancing을 설정한다. 2개의 옵션이 설정된 경우에는 클러스터 내에서 같은 EJB 모듈에 대해 하나의 Timer만 수행되는 것을 보장한다.
Value Type ejbTimerType
Default Value Local
Defined Value

Local

Failover

(19) < jeus-ejb-dd >< module-info >< timer-service > <primary-server>
Description EJB 모듈이 Deploy된 클러스터 내에서 EJB Timer를 수행할 Primary 서버를 지정한다. 이 설정은 Timer 타입이 Failover인 경우에만 유효하며, 설정되면 해당 모듈에서 생성되는 모든 Timer들은 Primary 서버에서 수행하게 된다. Primary 서버가 다운된 경우에는 자동적으로 다른 서버로 Failover되고, Primary 서버가 다시 살아나면 Failback 처리를 한다. 설정하지 않은 경우에는 Deploy할 때 내부적으로 Primary 서버가 결정되며 Failback은 지원하지 않는다.
Value Type ejbTimerTargetType
Child Elements

(21) server-name

(20) < jeus-ejb-dd >< module-info >< timer-service >< primary-server > <server-name>
Description EJB 모듈이 Deploy된 클러스터 내에서 EJB Timer를 수행할 Primary 서버를 지정한다.
Value Type token

(21) < jeus-ejb-dd > <beanlist>
Description 각 Bean에 대해 설정한다.
Value Type beanlistType
Child Elements

(23) jeus-bean

(22) < jeus-ejb-dd >< beanlist > <jeus-bean>
Description 각 Bean에 대한 JEUS 스펙(Specific)을 설정한다. ejb-jar.xml의 각 Bean마다 설정이 되어야 한다. Bean의 종류마다 설정해야 할 항목이 다르므로 "JEUS EJB 안내서"를 참고한다.
Value Type jeus-beanType
Child Elements

(24) ejb-name

(25) export-name

(26) local-export-name

(27) export-port

(28) export-iiop

(30) preferred-call-by-reference

(31) use-access-control

(32) run-as-identity

(34) security-interop

(39) env

(43) ejb-ref

(47) res-ref

(51) res-env-ref

(55) message-destination-ref

(59) service-ref

(136) thread-max

(137) clustering

(165) invoke-http

(168) jeus-rmi

(169) object-management

(182) persistence-optimize

(191) schema-info

(221) database-insert-delay

(222) cm-persistence-optimize

(226) enable-instant-ql

(227) connection-factory-name

(228) mdb-resource-adapter

(239) destination

(240) jndi-spi

(244) max-message

(245) ack-mode

(246) durable

(247) msg-selector

(248) timer-service

(23) < jeus-ejb-dd >< beanlist >< jeus-bean > <ejb-name>
Description ejb-jar.xml에 또는 Bean 클래스의 Annotation으로 지정된 EJB Name을 설정한다.
Value Type token

(24) < jeus-ejb-dd >< beanlist >< jeus-bean > <export-name>
Description JNDI Naming System에 등록될 유일한 이름이다. 클러스터링에 참여하는 모든 Bean은 같은 export-name을 가져야 한다.
Value Type token
Value Description 임의로 지정할 수 있고 JNDI Naming System에서 반드시 유일한 이름이어야만 한다.

(25) < jeus-ejb-dd >< beanlist >< jeus-bean > <local-export-name>
Description Bean이 Local Bean 인터페이스일 경우에 사용하는 JNDI 이름이다.
Value Type token
Value Description 임의로 지정할 수 있고 JNDI Naming System에서 반드시 유일한 이름이어야만 한다.

(26) < jeus-ejb-dd >< beanlist >< jeus-bean > <export-port>
Description Bean이 서비스하게 될 RMI 리스너 포트를 명시한다. 이 설정은 클라이언트와 EJB 간에 방화벽이 있을 때 사용되기도 한다. 이 설정은 관리자가 RMI 통신을 허용하는 포트 번호를 제공하는 경우에만 사용할 수 있다.
Value Type nonNegativeIntType
Value Description 포트 번호
Default Value 0

(27) < jeus-ejb-dd >< beanlist >< jeus-bean > <export-iiop>
Description Bean의 인터페이스가 IIOP Stub과 Skeleton으로서 COS Naming Server에 Export될 수 있게 하는 설정이다. 이는 IIOP로 접근 가능한 모든 클라이언트가 Bean에 접근 가능하도록 한다.
Value Type export-iiopType
Child Elements

(29) only-iiop

(28) < jeus-ejb-dd >< beanlist >< jeus-bean >< export-iiop > <only-iiop>
Description IIOP 이외에 RMI Stub도 해당 EJB의 Home으로 함께 등록할지를 결정한다. 함께 등록한다면 CosNaming에는 IIOP Stub이, JEUS JNDI에는 RMI Stub이 등록된다.
Value Type boolean
Default Value true

(29) < jeus-ejb-dd >< beanlist >< jeus-bean > <preferred-call-by-reference>
Description (Since JEUS 6 Fix#7)기존의 <call-by-value> 옵션을 대체한다. Remote 인터페이스를 통해 EJB를 호출할 경우 Local Call Optimization(같은 JVM 내에서 호출되는 EJB Remote Call을 RMI를 통하지 않고 Local Call로 호출되도록 하여 성능을 향상시켜주는 기능)을 수행할 때 호출되는 비즈니스 메소드의 파라미터 값들과 리턴 값들이 Call By Reference(Pass By Reference) 방식으로 전달되도록 설정하는 기능이다. EJB 표준은 로컬 인터페이스를 통한 EJB 호출은 Call By Reference방식으로 수행되고, Remote 인터페이스를 통한 EJB 호출은 Call By Value 방식으로 수행되도록 정하고 있다. 하지만,Remote 인터페이스를 통해 EJB를 호출할 때 Local Call Optimization이 수행되는 경우에 성능향상의 목적으로 Call By Reference 방식이 사용되기를 원한다면 이 옵션을 true로 설정할 수 있다. <주의사항!> 이 옵션이 true로 설정되어있더라도 Isolated classloading 모드인 경우와 EJB 2.x의 경우에 Dynamic Proxy 방식(<use-dynamic-proxy-for-ejb2> 옵션)을 사용하지 않는 경우에는 Remote EJB Call에 대해 Call By Reference 방식으로 동작되지 않는다. 따라서, 이 옵션에 의존하여 Call By Reference 방식을 사용하는 사용자 애플리케이션을 작성하지 않는 것을 권장한다. Call By Reference Semantic에 의존하여 Remote EJB method call을 구현하고자 하는 경우에는 위와 같은 제약사항을 반드시 고려해야 한다.
Value Type boolean
Default Value false

(30) < jeus-ejb-dd >< beanlist >< jeus-bean > <use-access-control>
Description EJB 메소드를 호출하는 중에 메소드를 호출한 principal을 대상으로 EJB 메소드가 사용하는 리소스에 대해 J2SE Security에서 제공하는 access-control을 사용할 것인지를 지정한다. 이 기능이 동작하기 위해서는 JEUS를 기동할 때 -Djava.security.manager를 설정해서 Security Manager를 활성화시켜야 한다.
Value Type boolean
Default Value false

(31) < jeus-ejb-dd >< beanlist >< jeus-bean > <run-as-identity>
Description ejb-jar.xml에 정의된 <run-as-specified-identity>의 Role 이름을 실제 사용자 이름(principal)으로 매핑을 정의한다.
Value Type run-as-identityType
Child Elements

(33) principal-name

(32) < jeus-ejb-dd >< beanlist >< jeus-bean >< run-as-identity > <principal-name>
Description ejb-jar.xml 또는 web.xml 내에서 <run-as-specified-identity>의 Role로 사용되는 Principal 이름을 설정한다.
Value Type token
Value Description Security의 subjects.xml에서 지정되어 있는 Principal 이름을 입력한다.

(33) < jeus-ejb-dd >< beanlist >< jeus-bean > <security-interop>
Description IIOP/CSI를 사용하고 EJB 엔진에서 사용 가능할 때 즉 enable-interop 설정이 true일 때 선언된다. 설정에 대한 정보는 CSI 스펙을 참고한다.
Value Type security-interopType
Child Elements

(35) integrity-confidentiality

(36) trust-in-client

(37) client-auth

(38) identity-assertion

(34) < jeus-ejb-dd >< beanlist >< jeus-bean >< security-interop > <integrity-confidentiality>
Description CSI 스펙에 정의된 "Integrity" 비트와 "Confidentiality" 비트를 매핑한다. 2개의 비트 모두에 이 설정에서 정의된대로 적용된다.
Value Type security-interopElementType
Default Value NotSupported
Defined Value

NotSupported

Supports

Requires

(35) < jeus-ejb-dd >< beanlist >< jeus-bean >< security-interop > <trust-in-client>
Description CSI 스펙에 정의된 "Trust in client" 비트를 매핑한다.
Value Type security-interopElementType
Default Value NotSupported
Defined Value

NotSupported

Supports

Requires

(36) < jeus-ejb-dd >< beanlist >< jeus-bean >< security-interop > <client-auth>
Description CSI 스펙에 정의된 "Client authentication" 비트를 매핑한다.
Value Type security-interopElementType
Default Value NotSupported
Defined Value

NotSupported

Supports

Requires

(37) < jeus-ejb-dd >< beanlist >< jeus-bean >< security-interop > <identity-assertion>
Description CSI 스펙에 정의된 "Identity assertion" 비트를 매핑한다.
Value Type security-interopElementRestrictedType
Default Value NotSupported
Defined Value

NotSupported

Supports

(38) < jeus-ejb-dd >< beanlist >< jeus-bean > <env>
Description 표준 DD에 정의된 Env Entry 값을 Override하기 위해 사용된다.
Value Type envType
Child Elements

(40) name

(41) value

(42) type

(39) < jeus-ejb-dd >< beanlist >< jeus-bean >< env > <name>
Description 코드에서 사용하는 환경변수의 이름을 설정한다.
Value Type valuableToken

(40) < jeus-ejb-dd >< beanlist >< jeus-bean >< env > <value>
Description 대응하는 Wrapper 클래스 생성자의 파라미터로서 사용되는 값을 설정한다.
Value Type valuableToken

(41) < jeus-ejb-dd >< beanlist >< jeus-bean >< env > <type>
Description 환경변수의 Java 타입을 설정한다.
Value Type valuableToken
Value Description java.lang.Boolean, java.lang.String, java.lang.Integer, java.lang.Double, java.lang.Byte, java.lang.Short, java.lang.Long, java.lang.Float, java.lang.Character의 자바 타입 중 하나를 선택해야 한다.

(42) < jeus-ejb-dd >< beanlist >< jeus-bean > <ejb-ref>
Description 코드에서 사용하는 EJB 참조를 실제 EJB JNDI 이름으로 바인드한다.
Value Type jndi-refType
Child Elements

(44) jndi-info

(43) < jeus-ejb-dd >< beanlist >< jeus-bean >< ejb-ref > <jndi-info>
Description Environment Entry에 사용되는 Logical 이름을 실제 JNDI 이름으로 매핑한다. 예를 들면 "jdbc/myDataSource"로 사용된 Environment Entry 이름을 실제 JNDI 이름인 "DataSource1"으로 매핑한다.
Value Type jndi-infoType
Child Elements

(45) ref-name

(46) export-name

(44) < jeus-ejb-dd >< beanlist >< jeus-bean >< ejb-ref >< jndi-info > <ref-name>
Description 소스코드에서 사용할 수 있는 참조 이름을 선언할 수 있다.
Value Type valuableToken
Value Description 실제 JNDI 이름에 바인드될 참조 이름이다. 이것은 해당하는 J2EE 표준 Descriptor 항목의 Ref Name에 대응된다.

(45) < jeus-ejb-dd >< beanlist >< jeus-bean >< ejb-ref >< jndi-info > <export-name>
Description JEUS DD에 정의된 실제 JNDI 이름을 설정한다.
Value Type token

(46) < jeus-ejb-dd >< beanlist >< jeus-bean > <res-ref>
Description 소스코드에서 사용할 수 있는 외부 자원(예: DB) 참조 이름을 선언할 수 있다.
Value Type jndi-refType
Child Elements

(48) jndi-info

(47) < jeus-ejb-dd >< beanlist >< jeus-bean >< res-ref > <jndi-info>
Description Environment Entry에 사용되는 Logical 이름을 실제 JNDI 이름으로 매핑한다. 예를 들면 "jdbc/myDataSource"로 사용된 Environment Entry 이름을 실제 JNDI 이름인 "DataSource1"으로 매핑한다.
Value Type jndi-infoType
Child Elements

(49) ref-name

(50) export-name

(48) < jeus-ejb-dd >< beanlist >< jeus-bean >< res-ref >< jndi-info > <ref-name>
Description 소스코드에서 사용할 수 있는 참조 이름을 선언할 수 있다.
Value Type valuableToken
Value Description 실제 JNDI 이름에 바인드될 참조 이름이다. 이것은 해당하는 J2EE 표준 Descriptor 항목의 Ref Name에 대응된다.

(49) < jeus-ejb-dd >< beanlist >< jeus-bean >< res-ref >< jndi-info > <export-name>
Description JEUS DD에 정의된 실제 JNDI 이름을 설정한다.
Value Type token

(50) < jeus-ejb-dd >< beanlist >< jeus-bean > <res-env-ref>
Description 코드에서 사용하는 외부 자원 참조를 실제 JNDI 이름으로 바인드한다. 표준 EJB DD의 <resource-env-ref>에 대응한다.
Value Type jndi-refType
Child Elements

(52) jndi-info

(51) < jeus-ejb-dd >< beanlist >< jeus-bean >< res-env-ref > <jndi-info>
Description Environment Entry에 사용되는 Logical 이름을 실제 JNDI 이름으로 매핑한다. 예를 들면 "jdbc/myDataSource"로 사용된 Environment Entry 이름을 실제 JNDI 이름인 "DataSource1"으로 매핑한다.
Value Type jndi-infoType
Child Elements

(53) ref-name

(54) export-name

(52) < jeus-ejb-dd >< beanlist >< jeus-bean >< res-env-ref >< jndi-info > <ref-name>
Description 소스코드에서 사용할 수 있는 참조 이름을 선언할 수 있다.
Value Type valuableToken
Value Description 실제 JNDI 이름에 바인드될 참조 이름이다. 이것은 해당하는 J2EE 표준 Descriptor 항목의 Ref Name에 대응된다.

(53) < jeus-ejb-dd >< beanlist >< jeus-bean >< res-env-ref >< jndi-info > <export-name>
Description JEUS DD에 정의된 실제 JNDI 이름을 설정한다.
Value Type token

(54) < jeus-ejb-dd >< beanlist >< jeus-bean > <message-destination-ref>
Description 코드에서 사용하는 외부 자원 참조를 실제 JNDI 이름으로 매핑한다. 표준 DD의 <message-destination-ref>에 대응된다.
Value Type jndi-refType
Child Elements

(56) jndi-info

(55) < jeus-ejb-dd >< beanlist >< jeus-bean >< message-destination-ref > <jndi-info>
Description Environment Entry에 사용되는 Logical 이름을 실제 JNDI 이름으로 매핑한다. 예를 들면 "jdbc/myDataSource"로 사용된 Environment Entry 이름을 실제 JNDI 이름인 "DataSource1"으로 매핑한다.
Value Type jndi-infoType
Child Elements

(57) ref-name

(58) export-name

(56) < jeus-ejb-dd >< beanlist >< jeus-bean >< message-destination-ref >< jndi-info > <ref-name>
Description 소스코드에서 사용할 수 있는 참조 이름을 선언할 수 있다.
Value Type valuableToken
Value Description 실제 JNDI 이름에 바인드될 참조 이름이다. 이것은 해당하는 J2EE 표준 Descriptor 항목의 Ref Name에 대응된다.

(57) < jeus-ejb-dd >< beanlist >< jeus-bean >< message-destination-ref >< jndi-info > <export-name>
Description JEUS DD에 정의된 실제 JNDI 이름을 설정한다.
Value Type token

(58) < jeus-ejb-dd >< beanlist >< jeus-bean > <service-ref>
Description JEUS 웹 서비스 클라이언트 설정 문서의 최상위 항목이다.
Value Type jeus-webservices-client-ddType
Child Elements

(60) service-client

(59) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref > <service-client>
Description 배치되는 웹 서비스 클라이언트를 위한 설정들을 표시한다.
Value Type serviceClientType
Child Elements

(61) service-ref-name

(62) port-info

(129) service-impl-class

(130) wsdl-override

(131) require-dynamic-proxy

(132) service-qname

(133) call-property

(60) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client > <service-ref-name>
Description WSDL 파일에서 관련된 웹 서비스 Endpoint 이름이다. 표준 배치 서술자 web.xml 혹은 ejb-jar.xml의 <service-ref-name>에 해당하는 설정이다.
Value Type token

(61) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client > <port-info>
Description 배치되는 웹 서비스 클라이언트가 호출하는 웹 서비스 포트 정보를 설정한다.
Value Type portInfoType
Child Elements

(63) service-endpoint-interface

(64) wsdl-port

(65) stub-property

(68) call-property

(71) security

(62) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info > <service-endpoint-interface>
Description WSDL 포트의 Service Endpoint 인터페이스를 나타내는 클래스를 표시한다. <service-ref> 설정에서 <port-component-ref>의 <service-endpoint-interface>에 해당하는 설정이다.
Value Type token

(63) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info > <wsdl-port>
Description <port-info>와 연결된 WSDL 포트 정의를 표시한다.
Value Type QName

(64) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info > <stub-property>
Description 특정 포트에서 사용하는 javax.xml.rpc.Stub 객체에 설정하는 프로퍼티들을 표시한다.
Value Type nameValueType
Child Elements

(66) name

(67) value

(65) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info >< stub-property > <name>
Description javax.xml.rpc.Stub 또는 javax.xml.rpc.Call에 프로퍼티를 설정하기 위한 Key 이름을 설정한다.
Value Type string

(66) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info >< stub-property > <value>
Description javax.xml.rpc.Stub 또는 javax.xml.rpc.Call에 프로퍼티를 설정하기 위한 Key에 해당하는 값(value)을 설정한다.
Value Type string

(67) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info > <call-property>
Description 특정 포트에서 사용하는 javax.xml.rpc.Call 객체에 설정하는 프로퍼티들을 표시한다.
Value Type nameValueType
Child Elements

(69) name

(70) value

(68) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info >< call-property > <name>
Description javax.xml.rpc.Stub 또는 javax.xml.rpc.Call에 프로퍼티를 설정하기 위한 Key 이름을 설정한다.
Value Type string

(69) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info >< call-property > <value>
Description javax.xml.rpc.Stub 또는 javax.xml.rpc.Call에 프로퍼티를 설정하기 위한 Key에 해당하는 값(value)을 설정한다.
Value Type string

(70) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info > <security>
Description 웹 서비스의 보안(WS-Security)을 위한 웹 서비스 클라이언트를 설정한다.
Value Type webservice-securityType
Child Elements

(72) request-sender

(110) response-receiver

(71) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info >< security > <request-sender>
Description 웹 서비스를 호출하는 메시지에 보안을 적용하기 위한 설정이다.
Value Type security-senderType
Child Elements

(73) action-list

(74) password-callback-class

(75) user

(76) timeStamp

(81) userNameToken

(85) signature-infos

(96) encryption-infos

(72) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info >< security >< request-sender > <action-list>
Description 어떤 보안을 적용할 것인지를 String으로 나열한다. Timestamp, Encrypt, Signature, UsernameToken이 들어갈 수 있다. 각각의 항목은 공백으로 분리한다.
Value Type string

(73) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info >< security >< request-sender > <password-callback-class>
Description 패스워드를 설정하는 Callback 클래스의 전체 패키지 이름이다.
Value Type string

(74) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info >< security >< request-sender > <user>
Description UsernameToken에 들어갈 이름과 서명에 들어갈 Key의 별칭을 설정한다.
Value Type string

(75) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info >< security >< request-sender > <timeStamp>
Description TimeStamp에 적용할 ttl(timeToLive) aberration(오차), 서명 여부를 설정한다.
Value Type timeStampType
Child Elements

(77) timeToLive

(78) aberration

(79) requireSignature

(80) precision

(76) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info >< security >< request-sender >< timeStamp > <timeToLive>
Description 보내게 될 메시지의 유효기간을 초 단위로 설정한다.
Value Type positiveInteger

(77) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info >< security >< request-sender >< timeStamp > <aberration>
Description 표준시와의 차이를 설정한다. 기본값은 0초이다.
Value Type integer

(78) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info >< security >< request-sender >< timeStamp > <requireSignature>
Description Timestamp에 서명을 할지 여부를 설정한다. 기본값은 true이다.
Value Type boolean

(79) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info >< security >< request-sender >< timeStamp > <precision>
Description 시스템 환경(네트워크, 처리지연 등)을 고려한 여유시간을 설정한다.
Value Type positiveInteger

(80) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info >< security >< request-sender > <userNameToken>
Description UsernameToken을 설정한다.
Value Type userNameTokenSenderType
Child Elements

(82) password

(83) passwordType

(84) userTokenElements

(81) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info >< security >< request-sender >< userNameToken > <password>
Description 사용할 Password를 설정한다. Password를 암호화해서 저장할 때에는 {algorithm}ciphertext와 같은 형식으로 입력한다. ex) {DES}FQrLbQ/D8O1lDVS71L28rw==
Value Type string

(82) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info >< security >< request-sender >< userNameToken > <passwordType>
Description UsernameToken에 사용될 Password의 타입을 설정한다. PasswordDigest 혹은 PasswordText를 사용할 수 있다.
Value Type passwordTypeType
Defined Value

PasswordDigest

PasswordText

(83) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info >< security >< request-sender >< userNameToken > <userTokenElements>
Description UsernameToken에 추가될 항목(Element)의 리스트이다. 각 항목은 공백으로 분리된다. nonce 혹은 created가 사용될 수 있다. passwordType이 PasswordDigest일 경우에 사용이 가능하다.
Value Type string

(84) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info >< security >< request-sender > <signature-infos>
Description 메시지에 서명을 하기 위한 설정이다.
Value Type signature-infosType
Child Elements

(86) signature-info

(85) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info >< security >< request-sender >< signature-infos > <signature-info>
Description 메시지의 서명을 위한 설정이다. 복수 설정이 가능하다.
Value Type signature-infoType
Child Elements

(87) signatureParts

(88) signatureAlgorithm

(89) messageDigestAlogrithm

(90) canonicalization

(91) keyIdentifier

(92) keystore

(86) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info >< security >< request-sender >< signature-infos >< signature-info > <signatureParts>
Description 메시지의 특정 부분을 서명하고자 할 때 설정한다. "{}{http://schemas.xmlsoap.org/soap/envelope/}Body; Token"과 같은 방식으로 열거할 수 있다. 기본적으로 설정하지 않았을 경우에는 SOAP 바디 전체를 서명하게 된다.
Value Type string

(87) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info >< security >< request-sender >< signature-infos >< signature-info > <signatureAlgorithm>
Description 서명에 사용될 알고리듬을 명시한다. SHA1withRSA,SHA1WithDSA,HMACSHA1 중의 하나를 사용한다.
Value Type signatureAlgorithmType
Defined Value

http://www.w3.org/2000/09/xmldsig#dsa-sha1

http://www.w3.org/2000/09/xmldsig#rsa-sha1

http://www.w3.org/2000/09/xmldsig#hmac-sha1

(88) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info >< security >< request-sender >< signature-infos >< signature-info > <messageDigestAlogrithm>
Description MessageDigest에 사용될 알고리듬을 명시한다. SHA1를 사용한다.
Value Type messageDigestAlgorithmType
Defined Value

http://www.w3.org/2000/09/xmldsig#sha1

(89) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info >< security >< request-sender >< signature-infos >< signature-info > <canonicalization>
Description 사용될 canonicalization 방법을 명시한다. Exclusive XML Canonicalization omit comments, Exclusive XML Canonicalization with comments, Inclusive XML Canonicalization omit comments, Inclusive XML Canonicalization with comments 중의 하나를 사용한다.
Value Type canonicalizationType
Defined Value

http://www.w3.org/2001/10/xml-exc-c14n#

http://www.w3.org/2001/10/xml-exc-c14n#WithComments

http://www.w3.org/TR/2001/REC-xml-c14n-20010315

http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments

(90) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info >< security >< request-sender >< signature-infos >< signature-info > <keyIdentifier>
Description 서명에 사용될 Key의 정보를 표현하는 방식이다. IssuerSerial, DirectReference, SKIKeyIdentifier, X509KeyIdentifier 중의 하나를 사용한다.
Value Type sigKeyIdentifierType
Defined Value

IssuerSerial

DirectReference

SKIKeyIdentifier

X509KeyIdentifier

(91) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info >< security >< request-sender >< signature-infos >< signature-info > <keystore>
Description 메시지의 서명을 위한 개인 Key를 저장하고 있는 Keystore의 설정이다.
Value Type keystoreType
Child Elements

(93) key-type

(94) keystore-password

(95) keystore-filename

(92) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info >< security >< request-sender >< signature-infos >< signature-info >< keystore > <key-type>
Description Keystore에 저장되는 Key의 타입을 설정한다(JKS 혹은 pkcs12).
Value Type string

(93) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info >< security >< request-sender >< signature-infos >< signature-info >< keystore > <keystore-password>
Description Keystore에 접근하기 위한 Password를 설정한다. Password를 암호화해서 저장할 때에는 {algorithm}ciphertext와 같은 형식으로 입력한다. ex) {DES}FQrLbQ/D8O1lDVS71L28rw==
Value Type string

(94) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info >< security >< request-sender >< signature-infos >< signature-info >< keystore > <keystore-filename>
Description Keystore의 파일 이름을 설정한다. 파일 이름만 입력할 경우, 클래스 경로에서 찾게 되므로 파일 이름이나 절대 경로를 포함하는 파일 이름을 입력한다.
Value Type string

(95) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info >< security >< request-sender > <encryption-infos>
Description 메시지를 암호화하기 위한 설정이다.
Value Type encryption-infosType
Child Elements

(97) encryption-info

(96) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info >< security >< request-sender >< encryption-infos > <encryption-info>
Description 메시지를 암호화하기 위한 설정이다.
Value Type encryption-infoType
Child Elements

(98) encryptionParts

(99) keyTransportAlogrithm

(100) encryptionAlgorithm

(101) encryptionUser

(102) keyIdentifier

(103) keystore

(107) embeddedKey

(97) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info >< security >< request-sender >< encryption-infos >< encryption-info > <encryptionParts>
Description 특정 부분을 암호화하기 위한 설정이다. "{mode}{ns}{localname};{mode}{ns}{localname};…" 과 같은 형식이다. 기본 모드의 값은 "content"이다.
Value Type string

(98) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info >< security >< request-sender >< encryption-infos >< encryption-info > <keyTransportAlogrithm>
Description MessageDigest에 사용될 알고리듬을 명시한다. RSA1.5 중의 하나를 사용한다.
Value Type keyTransportAlogrithmType
Defined Value

http://www.w3.org/2001/04/xmlenc#rsa-1

(99) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info >< security >< request-sender >< encryption-infos >< encryption-info > <encryptionAlgorithm>
Description 암호화에 사용하는 알고리듬이다. AES_128, AES_256, TRIPLE_DES, AES_192를 지원한다.
Value Type encryptionAlgorithmType
Defined Value

http://www.w3.org/2001/04/xmlenc#tripledes-cbc

http://www.w3.org/2001/04/xmlenc#aes128-cbc

http://www.w3.org/2001/04/xmlenc#aes192-cbc

http://www.w3.org/2001/04/xmlenc#aes256-cbc

http://www.tmaxsoft.com/xml/algorithms/xmlenc#seed-cbc

(100) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info >< security >< request-sender >< encryption-infos >< encryption-info > <encryptionUser>
Description 암호화에 사용되는 Key의 별칭이다.
Value Type string

(101) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info >< security >< request-sender >< encryption-infos >< encryption-info > <keyIdentifier>
Description 암호화에 사용될 Key의 정보를 표현하는 방식이다. IssuerSerial, DirectReference, SKIKeyIdentifier, X509KeyIdentifier EmbeddedKeyName 중의 하나를 사용한다.
Value Type encKeyIdentifierType
Defined Value

IssuerSerial

DirectReference

SKIKeyIdentifier

X509KeyIdentifier

EmbeddedKeyName

(102) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info >< security >< request-sender >< encryption-infos >< encryption-info > <keystore>
Description 암호화에 사용될 Key의 저장소에 대해 설정한다.
Value Type keystoreType
Child Elements

(104) key-type

(105) keystore-password

(106) keystore-filename

(103) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info >< security >< request-sender >< encryption-infos >< encryption-info >< keystore > <key-type>
Description Keystore에 저장되는 Key의 타입을 설정한다(JKS 혹은 pkcs12).
Value Type string

(104) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info >< security >< request-sender >< encryption-infos >< encryption-info >< keystore > <keystore-password>
Description Keystore에 접근하기 위한 Password를 설정한다. Password를 암호화해서 저장할 때에는 {algorithm}ciphertext와 같은 형식으로 입력한다. ex) {DES}FQrLbQ/D8O1lDVS71L28rw==
Value Type string

(105) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info >< security >< request-sender >< encryption-infos >< encryption-info >< keystore > <keystore-filename>
Description Keystore의 파일 이름을 설정한다. 파일 이름만 입력할 경우, 클래스 경로에서 찾게 되므로 파일 이름이나 절대 경로를 포함하는 파일 이름을 입력한다.
Value Type string

(106) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info >< security >< request-sender >< encryption-infos >< encryption-info > <embeddedKey>
Description 웹 서비스와 웹 서비스 클라이언트가 공유하고 있는 Key를 설정한다. keyIdentifier가 EmbeddedKeyName으로 설정되어야 사용할 수 있다.
Value Type embeddedKeyType
Child Elements

(108) embeddedKeyCallbackClass

(109) key-name

(107) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info >< security >< request-sender >< encryption-infos >< encryption-info >< embeddedKey > <embeddedKeyCallbackClass>
Description SessionKey를 사용하려면 Key의 Byte 정보를 가지고 있는 Callback 클래스를 설정한다.
Value Type string

(108) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info >< security >< request-sender >< encryption-infos >< encryption-info >< embeddedKey > <key-name>
Description SessionKey의 이름을 설정한다.
Value Type string

(109) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info >< security > <response-receiver>
Description 웹 서비스 응답 메시지가 보안 적용이 되어있을 경우, 처리하기 위한 설정이다.
Value Type security-receiverType
Child Elements

(111) action-list

(112) observeActionOrder

(113) password-callback-class

(114) timeStamp

(119) decryption

(124) signature-verification

(110) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info >< security >< response-receiver > <action-list>
Description 받게 되는 메시지가 어떤 보안이 적용되어 있어야 하는지 설정한다. Timestamp, Encrypt, Signature, UsernameToken이 들어갈 수 있다. 각각의 항목은 공백으로 분리한다.
Value Type string

(111) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info >< security >< response-receiver > <observeActionOrder>
Description Sender가 사용한 Action List의 순서와 Receiver의 Action List의 순서가 동일해야 하는지 여부를 설정한다.
Value Type boolean
Default Value true

(112) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info >< security >< response-receiver > <password-callback-class>
Description Password Callback 클래스의 이름을 전체 패키지 이름으로 입력한다.
Value Type string

(113) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info >< security >< response-receiver > <timeStamp>
Description TimeStamp에 적용할 ttl(timeToLive) aberration(오차)를 설정한다.
Value Type timeStampType
Child Elements

(115) timeToLive

(116) aberration

(117) requireSignature

(118) precision

(114) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info >< security >< response-receiver >< timeStamp > <timeToLive>
Description 보내게 될 메시지의 유효기간을 초 단위로 설정한다.
Value Type positiveInteger

(115) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info >< security >< response-receiver >< timeStamp > <aberration>
Description 표준시와의 차이를 설정한다. 기본값은 0초이다.
Value Type integer

(116) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info >< security >< response-receiver >< timeStamp > <requireSignature>
Description Timestamp에 서명을 할지 여부를 설정한다. 기본값은 true이다.
Value Type boolean

(117) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info >< security >< response-receiver >< timeStamp > <precision>
Description 시스템 환경(네트워크, 처리지연 등)을 고려한 여유시간을 설정한다.
Value Type positiveInteger

(118) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info >< security >< response-receiver > <decryption>
Description 받는 메시지의 암호화된 부분을 해독하기 위한 설정이다.
Value Type decryptionType
Child Elements

(120) keystore

(119) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info >< security >< response-receiver >< decryption > <keystore>
Description 메시지의 암호를 해독하기 위한 Keystore의 설정이다.
Value Type keystoreType
Child Elements

(121) key-type

(122) keystore-password

(123) keystore-filename

(120) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info >< security >< response-receiver >< decryption >< keystore > <key-type>
Description Keystore에 저장되는 Key의 타입을 설정한다(JKS 혹은 pkcs12).
Value Type string

(121) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info >< security >< response-receiver >< decryption >< keystore > <keystore-password>
Description Keystore에 접근하기 위한 Password를 설정한다. Password를 암호화해서 저장할 때에는 {algorithm}ciphertext와 같은 형식으로 입력한다. ex) {DES}FQrLbQ/D8O1lDVS71L28rw==
Value Type string

(122) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info >< security >< response-receiver >< decryption >< keystore > <keystore-filename>
Description Keystore의 파일 이름을 설정한다. 파일 이름만 입력할 경우, 클래스 경로에서 찾게 되므로 파일 이름이나 절대 경로를 포함하는 파일 이름을 입력한다.
Value Type string

(123) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info >< security >< response-receiver > <signature-verification>
Description 받는 메시지의 서명을 검증하기 위한 설정이다.
Value Type signature-verificationType
Child Elements

(125) keystore

(124) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info >< security >< response-receiver >< signature-verification > <keystore>
Description 서명을 검증하기 위한 Keystore 설정이다.
Value Type keystoreType
Child Elements

(126) key-type

(127) keystore-password

(128) keystore-filename

(125) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info >< security >< response-receiver >< signature-verification >< keystore > <key-type>
Description Keystore에 저장되는 Key의 타입을 설정한다(JKS 혹은 pkcs12).
Value Type string

(126) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info >< security >< response-receiver >< signature-verification >< keystore > <keystore-password>
Description Keystore에 접근하기 위한 Password를 설정한다. Password를 암호화해서 저장할 때에는 {algorithm}ciphertext와 같은 형식으로 입력한다. ex) {DES}FQrLbQ/D8O1lDVS71L28rw==
Value Type string

(127) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< port-info >< security >< response-receiver >< signature-verification >< keystore > <keystore-filename>
Description Keystore의 파일 이름을 설정한다. 파일 이름만 입력할 경우, 클래스 경로에서 찾게 되므로 파일 이름이나 절대 경로를 포함하는 파일 이름을 입력한다.
Value Type string

(128) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client > <service-impl-class>
Description 웹 서비스 클라이언트를 위한 서비스 구현체를 설정한다. 배치의 경우에 자동 생성되므로 웹 서비스 배치자가 설정할 필요가 없다.
Value Type token

(129) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client > <wsdl-override>
Description <service-ref>의 <wsdl-file>을 대체하기 위한 WSDL 파일의 위치를 표시한다. 표시된 위치는 유효한 URL이어야 한다.
Value Type string

(130) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client > <require-dynamic-proxy>
Description Port Component Link를 사용할 때 ServiceReferenceFactory에서 Dynamic Proxy를 사용하도록 지시한다.
Value Type boolean

(131) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client > <service-qname>
Description WSDL의 WSDL 서비스 정의를 표시한다.
Value Type QName

(132) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client > <call-property>
Description WSDL 서비스에서 사용하는 모든 javax.xml.rpc.Call 객체에 설정하는 프로퍼티들을 표시한다.
Value Type nameValueType
Child Elements

(134) name

(135) value

(133) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< call-property > <name>
Description javax.xml.rpc.Stub 또는 javax.xml.rpc.Call에 프로퍼티를 설정하기 위한 Key 이름을 설정한다.
Value Type string

(134) < jeus-ejb-dd >< beanlist >< jeus-bean >< service-ref >< service-client >< call-property > <value>
Description javax.xml.rpc.Stub 또는 javax.xml.rpc.Call에 프로퍼티를 설정하기 위한 Key에 해당하는 값(value)을 설정한다.
Value Type string

(135) < jeus-ejb-dd >< beanlist >< jeus-bean > <thread-max>
Description EJB 엔진이 원격 클라이언트의 요청을 받고 처리하는 스레드의 최대 개수를 설정한다. 이 값만큼의 스레드가 이미 사용되고 있다면 요청은 스레드가 사용가능하게 될 때까지 기다린다. 0으로 설정되면 최대 개수를 제한하지 않는다.
Value Type nonNegativeIntType
Default Value 100

(136) < jeus-ejb-dd >< beanlist >< jeus-bean > <clustering>
Description 클러스터링 설정은 장애 대처와 로드 분산 기능을 제공한다. 이것은 기본적으로 하나의 EJB가 다른 여러 EJB 엔진에 모두 설치되었을 때 사용 가능하다. 이것은 JEUS 서버 간의 클러스터링 방법과 설정이 유사하다. 클러스터링에 참여하는 모든 EJB는 동일한 export-name을 가져야 한다.
Value Type clusteringType
Child Elements

(138) enable-clustering

(139) create-idempotent

(140) ejb-home-idempotent-method

(144) ejb-home-idempotent-exclude-method

(148) ejb-remote-idempotent-method

(152) ejb-remote-idempotent-exclude-method

(156) replication

(164) use-dlr

(137) < jeus-ejb-dd >< beanlist >< jeus-bean >< clustering > <enable-clustering>
Description 클러스터링 기능을 활성화하는 옵션이다.
Value Type boolean
Default Value false

(138) < jeus-ejb-dd >< beanlist >< jeus-bean >< clustering > <create-idempotent>
Description Failover 상황에서 Home create 호출이 idempotent한지를 설정한다. 비즈니스 인터페이스의 경우 Bean lookup 호출이 idempotent한지를 지정한다. Session Bean 클래스에 대해서 설정할 수 있다. 설정되지 않았을 경우 Stateless Session Bean은 기본적으로 idempotent로 간주되며, Stateful Session Bean은 idempotent 하지 않은 것으로 간주된다.
Value Type boolean

(139) < jeus-ejb-dd >< beanlist >< jeus-bean >< clustering > <ejb-home-idempotent-method>
Description 이 설정은 "idempotent" 홈 메소드라는 것을 선언하는데, 이 메소드는 수행 중에 어떤 상태, 즉 Bean 그 자신이나 DB의 필드 내용 등이 변경되지 않음을 보장한다. Idempotent 메소드는 기본적으로 어떤 업데이트나 설정의 변화 없이 결과값을 반환하는 getter 메소드이다. 이런 메소드를 명시하는 이유는 어떤 메소드가 Idempotent 메소드라면 첫 번째 시도했던 메소드 호출이 실행 중에 실패했더라도 안전하게 다시 호출이 가능하다. 그러나 그 메소드가 Idempotent 메소드가 아니라면 이런 경우 해결책이 없다. 같은 부작용을 가지게 되는 두 번의 연속적이고 중복적인 메소드 호출로 불일치 상태에 이르는 위험을 감수해야 하며 이 경우 exception을 던지는 것이 더 합리적이다. 따라서 Idempotent 메소드를 많이 사용할수록 EJB Failover는 효율적으로 작동될 것이다.
Value Type methodParamType
Child Elements

(141) method-name

(142) method-params

(140) < jeus-ejb-dd >< beanlist >< jeus-bean >< clustering >< ejb-home-idempotent-method > <method-name>
Description 메소드의 이름을 지정한다.
Value Type valuableToken

(141) < jeus-ejb-dd >< beanlist >< jeus-bean >< clustering >< ejb-home-idempotent-method > <method-params>
Description 메소드의 파라미터들을 순서대로 지정한다.
Value Type method-paramsType
Child Elements

(143) method-param

(142) < jeus-ejb-dd >< beanlist >< jeus-bean >< clustering >< ejb-home-idempotent-method >< method-params > <method-param>
Description 메소드의 파라미터의 Fully Qualified Class Name을 지정한다.
Value Type valuableToken

(143) < jeus-ejb-dd >< beanlist >< jeus-bean >< clustering > <ejb-home-idempotent-exclude-method>
Description "idempotent" 홈 메소드에서 제외할 메소드를 지정한다. 위의 <ejb-home-idempotent-method>의 설정에 우선한다.
Value Type methodParamType
Child Elements

(145) method-name

(146) method-params

(144) < jeus-ejb-dd >< beanlist >< jeus-bean >< clustering >< ejb-home-idempotent-exclude-method > <method-name>
Description 메소드의 이름을 지정한다.
Value Type valuableToken

(145) < jeus-ejb-dd >< beanlist >< jeus-bean >< clustering >< ejb-home-idempotent-exclude-method > <method-params>
Description 메소드의 파라미터들을 순서대로 지정한다.
Value Type method-paramsType
Child Elements

(147) method-param

(146) < jeus-ejb-dd >< beanlist >< jeus-bean >< clustering >< ejb-home-idempotent-exclude-method >< method-params > <method-param>
Description 메소드의 파라미터의 Fully Qualified Class Name을 지정한다.
Value Type valuableToken

(147) < jeus-ejb-dd >< beanlist >< jeus-bean >< clustering > <ejb-remote-idempotent-method>
Description "idempotent" Remote 메소드라는 것을 선언하는데, 이 메소드는 수행 중에 어떤 상태, 즉 Bean 그 자신이나 DB의 필드 내용 등이 변경되지 않음을 보장한다. idempotent 메소드는 기본적으로 어떤 업데이트나 설정의 변화 없이 결과값을 반환하는 getter 메소드이다. 이런 메소드를 명시하는 이유는 어떤 메소드가 Idempotent 메소드라면 첫 번째 시도 했던 메소드 호출이 실행 중에 실패했더라도 안전하게 다시 호출이 가능하다. 그러나 그 메소드가 Idempotent 메소드가 아니라면 이런 경우 해결책이 없다. 같은 부작용을 가지게 되는 두 번의 연속적이고 중복적인 메소드 호출로 불일치 상태에 이르는 위험을 감수해야 하며 이 경우 exception을 던지는 것이 더 합리적이다. 따라서 Idempotent 메소드를 많이 사용할수록 EJB Failover는 효율적으로 작동될 것이다.
Value Type methodParamType
Child Elements

(149) method-name

(150) method-params

(148) < jeus-ejb-dd >< beanlist >< jeus-bean >< clustering >< ejb-remote-idempotent-method > <method-name>
Description 메소드의 이름을 지정한다.
Value Type valuableToken

(149) < jeus-ejb-dd >< beanlist >< jeus-bean >< clustering >< ejb-remote-idempotent-method > <method-params>
Description 메소드의 파라미터들을 순서대로 지정한다.
Value Type method-paramsType
Child Elements

(151) method-param

(150) < jeus-ejb-dd >< beanlist >< jeus-bean >< clustering >< ejb-remote-idempotent-method >< method-params > <method-param>
Description 메소드의 파라미터의 Fully Qualified Class Name을 지정한다.
Value Type valuableToken

(151) < jeus-ejb-dd >< beanlist >< jeus-bean >< clustering > <ejb-remote-idempotent-exclude-method>
Description "idempotent" Remote 메소드에서 제외할 메소드를 지정한다. 위의 <ejb-remote-idempotent-method>의 설정에 우선한다.
Value Type methodParamType
Child Elements

(153) method-name

(154) method-params

(152) < jeus-ejb-dd >< beanlist >< jeus-bean >< clustering >< ejb-remote-idempotent-exclude-method > <method-name>
Description 메소드의 이름을 지정한다.
Value Type valuableToken

(153) < jeus-ejb-dd >< beanlist >< jeus-bean >< clustering >< ejb-remote-idempotent-exclude-method > <method-params>
Description 메소드의 파라미터들을 순서대로 지정한다.
Value Type method-paramsType
Child Elements

(155) method-param

(154) < jeus-ejb-dd >< beanlist >< jeus-bean >< clustering >< ejb-remote-idempotent-exclude-method >< method-params > <method-param>
Description 메소드의 파라미터의 Fully Qualified Class Name을 지정한다.
Value Type valuableToken

(155) < jeus-ejb-dd >< beanlist >< jeus-bean >< clustering > <replication>
Description 각 메소드별로 Replication 모드를 설정할 때 사용한다.
Value Type replicationType
Child Elements

(157) bean-mode

(158) methods

(156) < jeus-ejb-dd >< beanlist >< jeus-bean >< clustering >< replication > <bean-mode>
Description bean-level의 Replication 모드를 설정할 때 사용한다. 설정하지 않을 경우 Annotation의 설정을 따르고 만약, Annotaion 설정도 없을 경우에 기본값은 SYNC이다.
Value Type replication-modeType
Defined Value

sync

async

none

(157) < jeus-ejb-dd >< beanlist >< jeus-bean >< clustering >< replication > <methods>
Value Type replicationMethodsType
Child Elements

(159) method

(158) < jeus-ejb-dd >< beanlist >< jeus-bean >< clustering >< replication >< methods > <method>
Value Type replicationOfMethodType
Child Elements

(160) method-name

(161) method-params

(163) mode

(159) < jeus-ejb-dd >< beanlist >< jeus-bean >< clustering >< replication >< methods >< method > <method-name>
Description 메소드의 이름을 지정한다.
Value Type token

(160) < jeus-ejb-dd >< beanlist >< jeus-bean >< clustering >< replication >< methods >< method > <method-params>
Description 메소드의 파라미터들을 순서대로 지정한다.
Value Type method-paramsType
Child Elements

(162) method-param

(161) < jeus-ejb-dd >< beanlist >< jeus-bean >< clustering >< replication >< methods >< method >< method-params > <method-param>
Description 메소드의 파라미터의 Fully Qualified Class Name을 지정한다.
Value Type valuableToken

(162) < jeus-ejb-dd >< beanlist >< jeus-bean >< clustering >< replication >< methods >< method > <mode>
Description Session Replication 모드를 설정한다. sync, async, none이 있다.
Value Type replication-modeType
Defined Value

sync

async

none

(163) < jeus-ejb-dd >< beanlist >< jeus-bean >< clustering > <use-dlr>
Description 클러스터링을 사용할 때 DynamicLinkRef를 사용할지 설정한다. DynamicLinkRef를 사용하면 JNDI를 통한 EJB clustering을 하게 된다. default값은 true이다.
Value Type boolean

(164) < jeus-ejb-dd >< beanlist >< jeus-bean > <invoke-http>
Description 클라이언트 측의 EJB Stub과 원격지의 RMI 실행 환경이 HTTP-RMI 요청(Request)으로 통신하게 하는 설정이다. 이것은 방화벽을 사이에 두고 EJB에 접근할 때 사용된다. 이 모드 (HTTP 호출 모드)를 사용할 때 클라이언트가 EJB Stub에서 메소드를 호출하면 HTTP-RMI 요청 (Request)은 이것을 웹 컨테이너로 보낼 웹 서버로 발송한다. 그리고 이것은 RMI 핸들러 서블릿(jeus. rmi.http.ServletHandler)으로 보내지고 여기서 핸들러 서블릿은 요청(Request )으로부터 HTTP header를 제거한 뒤 이것을 RMI 실행 환경으로 전송한다. 설정하기 전에 jeus.rmi.http.ServletHandler 서블릿은 반드시 JEUS 웹 컨테이너에 Deploy되어 있어야 한다("JEUS Web Engine 안내서" 참고).
Value Type invoke-httpType
Child Elements

(166) url

(167) http-port

(165) < jeus-ejb-dd >< beanlist >< jeus-bean >< invoke-http > <url>
Description HTTP-RMI Stub에 의해 호출될 RMI 핸들러 서블릿(jeus.rmi.http.ServletHandler) 의 URI 경로가 반드시 설정되어야 한다. 이 URL은 프로토콜, 웹 서버 IP, 포트 번호를 제외하고 오직 서블릿 요청 경로만을 설정해야 한다. 프로토콜은 HTTP, RMI 실행 환경과 웹 서버는 같은 IP 주소를 가지고 있다고 가정한다(이것은 웹 서버와 웹 엔진은 반드시 HTTP-RMI 요청을 같은 머신에서 받는다는 것을 의미한다). 포트 번호는 다음에 설명할 HTTP Port에서 설정한다.
Value Type token
Value Description RMI 핸들러 서블릿을 명시한 서블릿 컨텍스트 경로를 설정한다.

(166) < jeus-ejb-dd >< beanlist >< jeus-bean >< invoke-http > <http-port>
Description HTTP-RMI 요청을 받고 처리할 웹 서버의 포트 번호를 설정한다. 해당 웹 서버 및 웹 엔진에서는 반드시 RMI 핸들러 서블릿이 Deploy되어 있고 이미 실행 중이어야만 한다.
Value Type nonNegativeIntType
Value Description HTTP-RMI Stub가 연결할 웹 서버의 포트 번호를 설정한다.
Default Value 80

(167) < jeus-ejb-dd >< beanlist >< jeus-bean > <jeus-rmi>
Description Sun의 RMI가 아닌, JEUS에서 제공하는 RMI를 사용하여 클라이언트와 RMI 통신을 하고 싶을 경우에 설정한다. JEUS RMI는 Java RMI에 비해 성능이 뛰어날 뿐 아니라 NIO를 사용할 수 있기 때문에 클라이언트가 많은 경우에 유리하다.
Value Type boolean
Default Value false

(168) < jeus-ejb-dd >< beanlist >< jeus-bean > <object-management>
Description Connection과 Bean Instance Pooling 설정이다.
Value Type object-managementType
Child Elements

(170) pooling-bean

(171) bean-pool

(175) connect-pool

(179) capacity

(180) passivation-timeout

(181) disconnect-timeout

(169) < jeus-ejb-dd >< beanlist >< jeus-bean >< object-management > <pooling-bean>
Description Stateful Session Bean에 대해서만 적용되는 설정이다. true로 설정하면 <bean-pool> 설정을 사용한다. Stateful Session Bean Instance는 클라이언트 요청에 따른 상태를 가지고 있기 때문에 기본적으로 재활용하는 Pool을 사용하지 않는다. Bean Pool을 사용하면 클라이언트가 remove를 호출하거나 disconnect-timout때문에 제거되면 Bean Instance가 Bean Pool로 반환되어 다른 클라이어트가 사용할 수 있게 된다. 따라서 Bean Pool을 사용하려면 Bean이 제거되기 전 불리는 PRE DESTORY callback에서 인스턴스 초기화를 제대로 구현해야 한다. 이런 경우에만 Bean Pool을 사용하도록 한다.
Value Type boolean
Default Value false

(170) < jeus-ejb-dd >< beanlist >< jeus-bean >< object-management > <bean-pool>
Description Bean Pool은 EJB Bean 클래스 인스턴스를 관리한다. 인스턴스들은 클라이언트의 요청이 왔을 때 Pool에서 꺼내져서 서비스를 시작한다. Pool에 더 이상의 인스턴스가 없을 때 새로운 인스턴스가 생성되어 Bean Pool에 추가된다.
Value Type bean-poolType
Child Elements

(172) pool-min

(173) pool-max

(174) resizing-period

(171) < jeus-ejb-dd >< beanlist >< jeus-bean >< object-management >< bean-pool > <pool-min>
Description 처음 Pool에 생성해 놓는 최소 인스턴스 개수와 resizing 작업을 할 때 Pool에 유지하려는 최소 인스턴스의 개수를 설정한다.
Value Type nonNegativeIntType
Default Value 0

(172) < jeus-ejb-dd >< beanlist >< jeus-bean >< object-management >< bean-pool > <pool-max>
Description 인스턴스를 반환할 때 Pool에서 받아 들일 수 있는 최대 인스턴스 개수를 설정한다.
Value Type nonNegativeIntType
Default Value 100

(173) < jeus-ejb-dd >< beanlist >< jeus-bean >< object-management >< bean-pool > <resizing-period>
Description Bean Pool의 사이즈가 재조정되는 시간간격을 설정한다. 이 시간마다 사용되지 않는 인스턴스를 Pool에서 제거한다.
Value Type nonNegativeLongType
Default Value 300000

(174) < jeus-ejb-dd >< beanlist >< jeus-bean >< object-management > <connect-pool>
Description Connection Pool은 클라이언트와 Bean Pool에서 가져온 EJB Instance를 중개하는 EJB 리모트 인터페이스 구현 클래스를 가지고 있다. 이 Pool에서 Connection Instance를 호출해서 클라이언트의 요청과 연결을 맺는다.
Value Type bean-poolType
Child Elements

(176) pool-min

(177) pool-max

(178) resizing-period

(175) < jeus-ejb-dd >< beanlist >< jeus-bean >< object-management >< connect-pool > <pool-min>
Description 처음 Pool에 생성해 놓는 최소 인스턴스 개수와 resizing 작업을 할 때 Pool에 유지하려는 최소 인스턴스의 개수를 설정한다.
Value Type nonNegativeIntType
Default Value 0

(176) < jeus-ejb-dd >< beanlist >< jeus-bean >< object-management >< connect-pool > <pool-max>
Description 인스턴스를 반환할 때 Pool에서 받아 들일 수 있는 최대 인스턴스 개수를 설정한다.
Value Type nonNegativeIntType
Default Value 100

(177) < jeus-ejb-dd >< beanlist >< jeus-bean >< object-management >< connect-pool > <resizing-period>
Description Bean Pool의 사이즈가 재조정되는 시간간격을 설정한다. 이 시간마다 사용되지 않는 인스턴스를 Pool에서 제거한다.
Value Type nonNegativeLongType
Default Value 300000

(178) < jeus-ejb-dd >< beanlist >< jeus-bean >< object-management > <capacity>
Description 생성될 것으로 예상되는 Bean Instance의 최대 개수를 의미하며, Entity Bean에만 사용된다. 이 값은 EJB와 연계될 내부 클라이언트 세션 데이터의 효율적인 구성을 위해 사용된다.
Value Type positiveIntType
Value Description Bean의 개수
Default Value 10000

(179) < jeus-ejb-dd >< beanlist >< jeus-bean >< object-management > <passivation-timeout>
Description Bean의 Passivation Timeout 값을 설정한다. Passivation Timeout 동안 요청이 없으면 Bean을 메모리에서 2차 저장소로 내린다. Entity Bean의 Entity Cache를 사용하는 경우에는 Entity Cache에 머물러 있다가 Passivate된다.
Value Type off-longType
Value Description 밀리세컨드

(180) < jeus-ejb-dd >< beanlist >< jeus-bean >< object-management > <disconnect-timeout>
Description Bean의 Disconnect Timeout 값을 설정한다. Disconnect Timeout 동안 요청이 없으면 커넥션 인스턴스가 제거되어 Connection Pool로 반환된다. Stateful Session Bean의 경우에는 이 시간이 지나면 세션이 제거되고 또한 Bean Pool을 사용한 경우에는 Bean Instance가 PRE DESTORY가 불려 초기화된 상태로 Bean Pool로 반환된다. EJB 3.1 이후 부터 Stateful Session Bean에 대해서는 @StatefulTimeout이나 ejb-jar.xml의 <stateful-timeout> 설정을 사용한다.
Value Type off-longType
Value Description 밀리세컨드

(181) < jeus-ejb-dd >< beanlist >< jeus-bean > <persistence-optimize>
Description Entity Bean에서 ejbLoad와 ejbStore 메소드를 호출될 때를 결정하는 EJB 엔진 규칙을 결정하고 최적화하기 위한 설정을 포함한다. 이 메소드들을 더 적게 호출될수록 성능은 보다 효율적이 된다.
Value Type persistence-optimizeType
Child Elements

(183) engine-type

(184) non-modifying-method

(188) entity-cache-size

(189) update-delay-till-tx

(190) include-update

(182) < jeus-ejb-dd >< beanlist >< jeus-bean >< persistence-optimize > <engine-type>
Description EJB 엔진에 의해서 ejbLoad() 호출이 발생할 때 일어나는 행위를 결정하고 최적화하는 설정이다.
Value Type engineType
Default Value EXCLUSIVE_ACCESS
Defined Value

EXCLUSIVE_ACCESS

SINGLE_OBJECT

MULTIPLE_OBJECT

(183) < jeus-ejb-dd >< beanlist >< jeus-bean >< persistence-optimize > <non-modifying-method>
Description Non-modifying 메소드란 Bean과 연결된 DB에 어떤 변화도 주지 않는 메소드를 의미한다(예 : non-modifying methods = "getter"/"read only" 메소드). Bean의 모든 read-only 메소드는 ejbStore() 메소드 호출을 보다 효율적으로 사용하기 위해서 이 설정에 명시된다.
Value Type methodParamType
Child Elements

(185) method-name

(186) method-params

(184) < jeus-ejb-dd >< beanlist >< jeus-bean >< persistence-optimize >< non-modifying-method > <method-name>
Description 메소드의 이름을 지정한다.
Value Type valuableToken

(185) < jeus-ejb-dd >< beanlist >< jeus-bean >< persistence-optimize >< non-modifying-method > <method-params>
Description 메소드의 파라미터들을 순서대로 지정한다.
Value Type method-paramsType
Child Elements

(187) method-param

(186) < jeus-ejb-dd >< beanlist >< jeus-bean >< persistence-optimize >< non-modifying-method >< method-params > <method-param>
Description 메소드의 파라미터의 Fully Qualified Class Name을 지정한다.
Value Type valuableToken

(187) < jeus-ejb-dd >< beanlist >< jeus-bean >< persistence-optimize > <entity-cache-size>
Description 내부 캐시 캐시 안에 남아있는 Entity Bean Instance의 개수를 조절하는 Hint이다. 최적의 성능을 위해 Cache 메모리 안에 비활성화된 Bean Instance를 가지고 있다.
Value Type nonNegativeIntType
Value Description 내부 Cache 메모리 안에 남아있는 Entity Bean Instance의 최대 개수를 설정한다.
Default Value 2000

(188) < jeus-ejb-dd >< beanlist >< jeus-bean >< persistence-optimize > <update-delay-till-tx>
Description false로 설정했다면 생성된 EJB DB의 삽입과 갱신이 EJB setXXX()가 호출될 때 실행된다. 일반적으로 true로 설정하며, 이 경우에는 EJB 데이터의 삽입과 갱신은 트랜잭션이 Commit되었을 때 업데이트된다. 개발자들이 원하는 사항은 다음과 같다. 1. 트랜잭션을 시작한다. 2. EJB 데이터 갱신을 한다. 3. EJB 데이터를 읽어들인다. 4. 트랜잭션을 Commit한다. 설정값이 false이면, step 3에서 읽힌 데이터는 step 2에서 기록된 데이터일 것이다. 설정값이 true이면, step 3가 아닌 step 4에서 Commit후 출력되는 값을 읽어 step 2에서 기록한 데이터이다. 이 옵션은 CMP 2.0에서만 사용된다.
Value Type boolean
Default Value true

(189) < jeus-ejb-dd >< beanlist >< jeus-bean >< persistence-optimize > <include-update>
Description <schema-info> 설정의 각 <jeus-query>마다 설정되는 <include-updates> 설정값의 기본값을 설정한다. 즉, <jeus-query>에 <include-update>가 설정되어 있지 않은 경우 여기에 지정된 값으로 설정된다. true일 경우 finder 메소드가 호출되는 동안에 생성된 업데이트가 Commit되므로, finder 메소드가 실행될 동안 업데이트된 정보를 확인할 수 있다.
Value Type boolean
Default Value false

(190) < jeus-ejb-dd >< beanlist >< jeus-bean > <schema-info>
Description DB의 컬럼과 EJB 필드의 매핑을 정의한다. 오직 CMP Entity Bean에서만 사용한다.
Value Type schema-infoType
Child Elements

(192) table-name

(193) cm-field

(198) creating-table

(201) deleting-table

(202) prim-key-field

(207) jeus-query

(214) db-vendor

(215) data-source-name

(216) auto-key-generator

(191) < jeus-ejb-dd >< beanlist >< jeus-bean >< schema-info > <table-name>
Description EJB와 매핑되는 관계형 DB의 테이블 이름을 설정한다. Default Value: EJB 모듈 이름 + EJB Bean 이름의 마지막 15 문자
Value Type token

(192) < jeus-ejb-dd >< beanlist >< jeus-bean >< schema-info > <cm-field>
Description Container가 관리하는 DB의 각 컬럼과 매핑하는 필드를 명시한다.
Value Type cm-fieldType
Child Elements

(194) field

(195) column-name

(196) type

(197) exclude-field

(193) < jeus-ejb-dd >< beanlist >< jeus-bean >< schema-info >< cm-field > <field>
Description DB의 컬럼과 매핑할 EJB 필드의 이름을 설정한다.
Value Type token

(194) < jeus-ejb-dd >< beanlist >< jeus-bean >< schema-info >< cm-field > <column-name>
Description field에 설정된 EJB 필드와 매핑할 DB 테이블의 컬럼 이름을 설정한다.
Value Type token

(195) < jeus-ejb-dd >< beanlist >< jeus-bean >< schema-info >< cm-field > <type>
Description DB 입장에서 테이블 컬럼의 데이터 타입을 설정한다 (예 : "VARCHAR(20)", "NUMERIC"). 설정하지 않으면면 기본값을 사용한다. Oracle DB의 경우 "CLOB"과 "BLOB" 타입을 사용할 수도 있다. "CLOB" 타입은 EJB의 java.lang.String 필드에 대응되고 "BLOB" 타입은 직렬화된 객체 필드에 대응된다.
Value Type token

(196) < jeus-ejb-dd >< beanlist >< jeus-bean >< schema-info >< cm-field > <exclude-field>
Description true로 설정하면 위에서 지정된 필드에 대한 Accessor 메소드 (set, get 메소드)가 EJB 서버가 생성하는 Concrete Bean 클래스에 생성되지 않는다. 즉, 해당 Bean을 사용하는 클라이언트가 이 필드를 사용할수 없게 한다. 이는 ejb-jar.xml에서 지정된 <cmp-field>를 무시하는 결과가 된다. 이 설정은 오직 CMP 2.0 Entity Bean에서만 작동된다.
Value Type boolean
Default Value false

(197) < jeus-ejb-dd >< beanlist >< jeus-bean >< schema-info > <creating-table>
Description Bean이 start되는 시점에 해당 Bean이 사용하고자 하는 테이블이 DB에 존재하는지 검사하여 하위 태그에 따라 기존의 테이블 사용, 새로운 테이블 생성, 에러 반환을 실행한다. 검사하는 방법은 <schema-info>/<table-name> 설정값과 같은 이름을 가지고, <schema-info>/<cm-field>에 명시한 필드들이 존재하며, Relation을 관리하는 Bean이라면 <ejb-relation-map>/<jeus-relationship-role>/<cloumn-map> 설정에 명시한 Foreign Key들도 존재하는지 검사한다. 이 태그가 없는 경우에는 엔진 컨테이너의 JVM 파라미터에 -Djeus.ejb.checktable 설정에 따라 테이블의 검사 여부를 결정한다. 프로퍼티의 기본값은 true이며 Bean이 start되는 시점에 테이블 검사를 할 때 해당 테이블이 존재하지 않으면 exception이 발생한다. 만약, 프로퍼티 값을 false로 지정하면 Bean이 start되는 시점에 테이블 검사를 하지 않기 때문에 나중에 실제 테이블이 사용되는 곳에서 테이블이 없어서 excpetion이 발생하게 된다.
Value Type creating-tableType
Child Elements

(199) use-existing-table

(200) force-creating-table

(198) < jeus-ejb-dd >< beanlist >< jeus-bean >< schema-info >< creating-table > <use-existing-table>
Description DB에 지정된 이름의 테이블이 이미 존재한다면 이를 그대로 사용하고 없는 경우에만 테이블을 생성한다.
Value Type emptyType

(199) < jeus-ejb-dd >< beanlist >< jeus-bean >< schema-info >< creating-table > <force-creating-table>
Description DB에 지정된 이름의 테이블이 이미 존재한다면 이를 삭제하고 다시 테이블을 생성한다.
Value Type emptyType

(200) < jeus-ejb-dd >< beanlist >< jeus-bean >< schema-info > <deleting-table>
Description EJB 엔진이 종료될 때 명명된 DB의 테이블을 삭제하는 설정이다. 의도하지 않은 DB 테이블 삭제를 방지하기 위해 시스템 프로퍼티가 설정되어 있고 <creating-table>의 설정이 존재해야 테이블을 삭제한다.
Value Type boolean
Default Value false

(201) < jeus-ejb-dd >< beanlist >< jeus-bean >< schema-info > <prim-key-field>
Description <prim-key-class>의 필드 중 EJB Bean과 DB 테이블의 열에서 Primary Key를 구성하기 위해 사용되는 모든 EJB 필드 이름을 명시한다.하위의 <field>만 지정하면 된다. ejb-jar.xml에 <prim-key-class>가 명시되어 있을 경우에만 사용된다. Default Value: 이 값이 명시되지 않는다면 Prim Key Class 설정의 모든 Public 필드로 Primary Key를 구성한다.
Value Type cm-fieldType
Child Elements

(203) field

(204) column-name

(205) type

(206) exclude-field

(202) < jeus-ejb-dd >< beanlist >< jeus-bean >< schema-info >< prim-key-field > <field>
Description DB의 컬럼과 매핑할 EJB 필드의 이름을 설정한다.
Value Type token

(203) < jeus-ejb-dd >< beanlist >< jeus-bean >< schema-info >< prim-key-field > <column-name>
Description field에 설정된 EJB 필드와 매핑할 DB 테이블의 컬럼 이름을 설정한다.
Value Type token

(204) < jeus-ejb-dd >< beanlist >< jeus-bean >< schema-info >< prim-key-field > <type>
Description DB 입장에서 테이블 컬럼의 데이터 타입을 설정한다 (예 : "VARCHAR(20)", "NUMERIC"). 설정하지 않으면면 기본값을 사용한다. Oracle DB의 경우 "CLOB"과 "BLOB" 타입을 사용할 수도 있다. "CLOB" 타입은 EJB의 java.lang.String 필드에 대응되고 "BLOB" 타입은 직렬화된 객체 필드에 대응된다.
Value Type token

(205) < jeus-ejb-dd >< beanlist >< jeus-bean >< schema-info >< prim-key-field > <exclude-field>
Description true로 설정하면 위에서 지정된 필드에 대한 Accessor 메소드 (set, get 메소드)가 EJB 서버가 생성하는 Concrete Bean 클래스에 생성되지 않는다. 즉, 해당 Bean을 사용하는 클라이언트가 이 필드를 사용할수 없게 한다. 이는 ejb-jar.xml에서 지정된 <cmp-field>를 무시하는 결과가 된다. 이 설정은 오직 CMP 2.0 Entity Bean에서만 작동된다.
Value Type boolean
Default Value false

(206) < jeus-ejb-dd >< beanlist >< jeus-bean >< schema-info > <jeus-query>
Description CMP 1.1 Entity Bean의 경우 finder 메소드에 대해서 필요한 SQL 문장을 반드시 명시해야 한다. CMP 2.0의 경우에는 ejb-jar.xml에 지정된 EJB-QL을 overriding할 수 있다. Jeus Query를 설정하면 Query 메소드(findXXX)에서 EJB-QL과 JEUS EJB-QL 확장을 사용할 수 있다. 이것은 ejb-jar.xml의 <query> 태그와 비슷하다. 이 태그는 BEA WebLogic 애플리케이션 서버를 JEUS 4 Fix#2로 마이그레이션할 때 용이하게 하는 것이 주요 목적이다. 적용되는건 <find-method>와 같다.
Value Type find-methodType
Child Elements

(208) query-method

(212) sql

(213) include-updates

(207) < jeus-ejb-dd >< beanlist >< jeus-bean >< schema-info >< jeus-query > <query-method>
Description find 메소드의 이름과 파라미터를 설정한다.
Value Type methodParamType
Child Elements

(209) method-name

(210) method-params

(208) < jeus-ejb-dd >< beanlist >< jeus-bean >< schema-info >< jeus-query >< query-method > <method-name>
Description 메소드의 이름을 지정한다.
Value Type valuableToken

(209) < jeus-ejb-dd >< beanlist >< jeus-bean >< schema-info >< jeus-query >< query-method > <method-params>
Description 메소드의 파라미터들을 순서대로 지정한다.
Value Type method-paramsType
Child Elements

(211) method-param

(210) < jeus-ejb-dd >< beanlist >< jeus-bean >< schema-info >< jeus-query >< query-method >< method-params > <method-param>
Description 메소드의 파라미터의 Fully Qualified Class Name을 지정한다.
Value Type valuableToken

(211) < jeus-ejb-dd >< beanlist >< jeus-bean >< schema-info >< jeus-query > <sql>
Description EJB 1.1에서 finder 메소드를 생성할 때 사용하는 SQL 문장의 일부분을 설정한다. EJB 2.0에서는 이 설정을 사용하지 않는다. 특수한 문자("<" 같은)를 사용할 경우에는 &gt;를 사용해야 한다.
Value Type token
Value Description where 절의 키워드를 명시한다. 이 SQL 문장에서 "?"는 finder 메소드가 호출될 때 finder 메소드의 파라미터의 값으로 순서대로 대체된다. "?" 뒤에 숫자를 입력할 수도 있는데 이는 몇 번째 파라미터인지를 나타낸다. 즉, "?1"은 첫 번째 파라미터의 값이 들어가는 자리이다. 이때 "?" 뒤에 숫자를 입력하는 형식과 "?"만 사용하는 형식은 혼용될 수 없다.

(212) < jeus-ejb-dd >< beanlist >< jeus-bean >< schema-info >< jeus-query > <include-updates>
Description true로 설정할 경우 finder 메소드 호출되는 동안에 생성된 업데이트가 Commit되므로, finder 메소드가 실행될 동안 업데이트된 정보를 확인할 수 있다. Default Value: <persistence-optimize>의 <include-update>에 설정된 값이 기본값이다.
Value Type boolean

(213) < jeus-ejb-dd >< beanlist >< jeus-bean >< schema-info > <db-vendor>
Description 컨테이너가 SQL을 생성할 때 어떤 DBMS에 맞게 생성할 것인지를 설정한다.
Value Type db-vendorType
Defined Value

oracle

informix

db2

mssql

sybase

hsql

cloudscape

mysql

tibero

(214) < jeus-ejb-dd >< beanlist >< jeus-bean >< schema-info > <data-source-name>
Description DB와 연결할 때 사용하는 DB Connection Pool의 JNDI 이름을 설정한다. 이 Connection Pool은 Resources의 DataSource 메뉴에 설정되고 JEUS 서버 JVM에 의해 실행된다.
Value Type token
Value Description JEUS DB Connection Pool의 JNDI 이름

(215) < jeus-ejb-dd >< beanlist >< jeus-bean >< schema-info > <auto-key-generator>
Description Primary Key를 설정하지 않고 create()를 호출할 때 Primary Key를 자동으로 생성해 주는 외부 소스를 지정한다. 이 외부 소스는 단일한 Primary Key를 생성할 필요가 있는 여러 EJB 엔진이 공유하는 하나의 DB여야 한다. EJB 엔진이 DB로부터 Primary Key를 가져온 뒤 DB의 Primary Key 값은 항상 유일하고 다른 EJB 엔진에 의해 사용될 수 있도록 값이 증가된다. Primary Key 값은 DB 내에서 항상 "int" 형이며 Bean 내에서는 반드시 java.lang.Integer 타입이어야 한다.
Value Type auto-key-generatorType
Child Elements

(217) generator-type

(218) generator-name

(219) sequence-column

(220) key-cache-size

(216) < jeus-ejb-dd >< beanlist >< jeus-bean >< schema-info >< auto-key-generator > <generator-type>
Description Primary Key를 가지고 있는 DB의 벤더를 명시한다.
Value Type generator-typeType
Defined Value

ORACLE

MSSQL

USER_KEY_TABLE

(217) < jeus-ejb-dd >< beanlist >< jeus-bean >< schema-info >< auto-key-generator > <generator-name>
Description Oracle과 USER_KEY_TABLE 값을 사용하는 경우 필요한 설정이다. Oracle인 경우 SEQUENCE 이름을 명시한다. USER_KEY_TABLE인 경우 Primary Key를 가지고 있는 테이블 이름을 명시한다.
Value Type token
Value Description Oracle인 경우 SEQUENCE 이름, USER_KEY_TABLE인 경우 테이블 이름을 입력한다.

(218) < jeus-ejb-dd >< beanlist >< jeus-bean >< schema-info >< auto-key-generator > <sequence-column>
Description USER_KEY_TABLE인 경우에 Primary Key를 가지고 있는 컬럼 이름을 명시한다.
Value Type token
Value Description 컬럼 이름.

(219) < jeus-ejb-dd >< beanlist >< jeus-bean >< schema-info >< auto-key-generator > <key-cache-size>
Description EJB 엔진에 할당될 유일한 Key의 개수를 설정한다. 이것은 Primary Key DB로부터 Key를 넘겨받은 뒤 그 Primary Key의 값을 여기에 설정된 값만큼 증가시킨다. 이 설정은 그만큼 Primary Key에 접속할 필요가 없어지므로 성능 향상에 도움을 준다.
Value Type nonNegativeIntType
Value Description Local EJB 엔진에 할당될 Primary Key의 개수를 설정한다. Oracle DB인 경우 이 값은 반드시 SEQUENCE의 SEQUENCE INCREMENT값과 일치해야 한다
Default Value 1

(220) < jeus-ejb-dd >< beanlist >< jeus-bean > <database-insert-delay>
Description EJB가 생성될 때, 새로운 EJB 데이터가 DB에 언제 저장될지를 설정한다. 현재는 ejbCreate() 메소드 완료 후와 ejbPostCreate() 메소드 완료 후에 저장되는 2가지 방법이 있다.
Value Type database-insert-delayType
Default Value ejbPostCreate
Defined Value

ejbCreate

ejbPostCreate

(221) < jeus-ejb-dd >< beanlist >< jeus-bean > <cm-persistence-optimize>
Description EJB 엔진에 의해 생성되는 ejbLoad()와 ejbStore() 메소드의 성능을 향상시키기 위해서 사용하는 어떤 속성들을 정의한다. 이 설정은 오직 CMP Entity Bean에서만 사용된다.
Value Type cm-persistence-optimizeType
Child Elements

(223) subengine-type

(224) fetch-size

(225) init-caching

(222) < jeus-ejb-dd >< beanlist >< jeus-bean >< cm-persistence-optimize > <subengine-type>
Description DB 테이블의 열에 접근할 때 ejbLoad() 메소드가 가지는 DB lock의 타입을 설정한다. 이 설정은 Bean의 성격에 따라 설정될 수 있다(예: Bean이 쓰기보다 읽기 작업을 더 많이 수행하는 경우, 또는 그 반대로 읽기보다 쓰기 작업을 더 많이 수행하는 경우). Oracle DB에 대해서는 WriteLock을 사용하는 경우 DB Isolation이 Serialization으로 설정되는 효과를 얻을 수 있다.
Value Type subengine-typeType
Default Value ReadLocking
Defined Value

ReadLocking

WriteLocking

WriteLockingFind

(223) < jeus-ejb-dd >< beanlist >< jeus-bean >< cm-persistence-optimize > <fetch-size>
Description DB에서 매우 큰 사이즈의 ResultSet을 리턴받을 때 한 번에 가져올 열의 개수를 설정한다.
Value Type nonNegativeIntType
Default Value 10

(224) < jeus-ejb-dd >< beanlist >< jeus-bean >< cm-persistence-optimize > <init-caching>
Description true로 설정하면 EJB 엔진은 매핑하는 DB 테이블의 열에 대해서 EJB Entity Bean을 미리 초기화한다. 이 작업은 엔진이 부팅될 때 실행된다. false로 설정하면 EJB Instance는 create(), findByPrimaryKey() 또는 이와 같은 기능의 홈 인터페이스의 메소드를 통해서 생성된다.
Value Type boolean
Default Value false

(225) < jeus-ejb-dd >< beanlist >< jeus-bean > <enable-instant-ql>
Description true로 설정하면 해당 Bean의 홈 인터페이스는 부가적으로 JEUS 특정적인 인터페이스("jeus.ejb.bean.objectbase.EJBInstanceFinder")를 구현한다. 이 인터페이스는 findWithInstantQL(java.lang.String qlSentence) 메소드를 포함하고, 이 메소드는 클라이언트의 소스 코드에서 바로 임의의 EJB QL Query를 명시할 수 있도록 해준다. 이것은 finder 메소드가 충분하지 않을 경우 임시적인 해결책이 될 수 있다. 참고: "qlSentence" 문자열 파라미터는 오직 파라미터가 없는, 즉 "?"가 없는 EJB QL 문장만을 지원한다는 사실에 주의한다. 이것은 오직 CMP 2.0 Entity Bean에서만 작동한다.
Value Type boolean
Default Value false

(226) < jeus-ejb-dd >< beanlist >< jeus-bean > <connection-factory-name>
Description Message-Driven Bean에서만 사용하는 설정으로, 해당 MDB가 사용할 JMS Connection Factory의 JNDI 이름을 설정한다.
Value Type token

(227) < jeus-ejb-dd >< beanlist >< jeus-bean > <mdb-resource-adapter>
Description Message-Driven Bean에서만 사용하는 설정으로, 해당 MDB가 사용할 리소스 어댑터 모듈 및 그에 관련된 속성을 설정한다.
Value Type mdb-resource-adapterType
Child Elements

(229) resource-adapter-module-id

(233) log-xa-recovery-information

(234) activation-config

(228) < jeus-ejb-dd >< beanlist >< jeus-bean >< mdb-resource-adapter > <resource-adapter-module-id>
Description Message-Driven Bean과 연동할 리소스 어댑터의 모듈 이름을 설정한다. 이 값은 해당 리소스 어댑터가 Deploy될 때 결정되므로 Resources 메뉴를 참고한다.
Value Type jeusModuleIdType
Child Elements

(230) standalone-module-name

(231) application-name

(232) module-name

(229) < jeus-ejb-dd >< beanlist >< jeus-bean >< mdb-resource-adapter >< resource-adapter-module-id > <standalone-module-name>
Description Standalone으로 Deploy된 모듈의 이름을 설정한다.
Value Type token

(230) < jeus-ejb-dd >< beanlist >< jeus-bean >< mdb-resource-adapter >< resource-adapter-module-id > <application-name>
Description 모듈이 속한 애플리케이션(EAR)의 이름을 설정한다.
Value Type token

(231) < jeus-ejb-dd >< beanlist >< jeus-bean >< mdb-resource-adapter >< resource-adapter-module-id > <module-name>
Description EAR에 속한 모듈의 이름을 설정한다.
Value Type token

(232) < jeus-ejb-dd >< beanlist >< jeus-bean >< mdb-resource-adapter > <log-xa-recovery-information>
Description Message Bean과의 연동 중에 글로벌 트랜잭션을 처리하는 경우에는 XA Recovery를 위한 Logging을 JCA 컨테이너에서 할 것인지 여부를 설정한다. JEUS MQ를 사용하는 경우에는 JEUS MQ에서 하는 XA Recovery Logging과 서로 중복되기 때문에 false로 설정해야 한다.
Value Type boolean
Default Value true

(233) < jeus-ejb-dd >< beanlist >< jeus-bean >< mdb-resource-adapter > <activation-config>
Description Message-Driven Bean에서만 사용하는 설정으로, JMS나 리소스 어댑터를 설정할 Activation Config를 기록한다. 이 설정은 ejb-jar.xml의 Activation Config를 override할 수 있다.
Value Type activation-configType
Child Elements

(235) description

(236) activation-config-property

(234) < jeus-ejb-dd >< beanlist >< jeus-bean >< mdb-resource-adapter >< activation-config > <description>
Description 해당 Activation Config에 대한 설명을 입력한다.
Value Type string

(235) < jeus-ejb-dd >< beanlist >< jeus-bean >< mdb-resource-adapter >< activation-config > <activation-config-property>
Description 각 Activation Config 프로퍼티를 지정한다.
Value Type activation-config-propertyType
Child Elements

(237) activation-config-property-name

(238) activation-config-property-value

(236) < jeus-ejb-dd >< beanlist >< jeus-bean >< mdb-resource-adapter >< activation-config >< activation-config-property > <activation-config-property-name>
Description 지정하고자 하는 Activation Config 프로퍼티의 이름을 설정한다.JMS MDB의 경우에는 acknowledgeMode, messageSelector, destinationType, subscriptionDurability가 기본적으로 인식된다.
Value Type token

(237) < jeus-ejb-dd >< beanlist >< jeus-bean >< mdb-resource-adapter >< activation-config >< activation-config-property > <activation-config-property-value>
Description 지정하고자 하는 Activation Config 프로퍼티의 값을 설정한다.
Value Type token

(238) < jeus-ejb-dd >< beanlist >< jeus-bean > <destination>
Description Message-Driven Bean에서만 사용하는 설정으로, 해당 MDB가 사용할 JMS Destination의 JNDI 이름을 설정한다. 자세한 내용은 "JEUS MQ 안내서"와 JMS 표준을 참고한다.
Value Type token

(239) < jeus-ejb-dd >< beanlist >< jeus-bean > <jndi-spi>
Description Message-Driven Bean에서만 사용하는 설정으로, MDB가 기본값(jeus.jndi.JEUSContextFactory)이 아닌 다른 JNDI 이름 서비스에 등록되어 있는 JMS 서비스를 사용할 경우에 사용한다. 이 설정은 JEUS MDB를 IBM MQ나 SONIC MQ와 같은 JEUS JMS 서비스 이외의 것과 연결할 때 사용한다.
Value Type jndi-spiType
Child Elements

(241) mq-vendor

(242) initial-context-factory

(243) provider-url

(240) < jeus-ejb-dd >< beanlist >< jeus-bean >< jndi-spi > <mq-vendor>
Description 설정할 JNDI Naming Sevice를 통해서 MDB과 연결을 맺을 MQ/JMS 벤더의 이름을 설정한다.
Value Type mq-vendorType
Defined Value

SONICMQ

IBMMQ

(241) < jeus-ejb-dd >< beanlist >< jeus-bean >< jndi-spi > <initial-context-factory>
Description JMS 서비스와 연결할 때 JEUS Naming 서비스를 사용할 때 필요한 Initial Context Factory의 클래스 이름을 설정한다.
Value Type token

(242) < jeus-ejb-dd >< beanlist >< jeus-bean >< jndi-spi > <provider-url>
Description JNDI Naming Sevice와 연결할 때 사용하는 URL 주소와 포트 번호를 설정한다.
Value Type anyURI

(243) < jeus-ejb-dd >< beanlist >< jeus-bean > <max-message>
Description JMS Message-Driven Bean에서만 사용하는 설정으로, 하나의 세션이 동시에 처리하는 최대 메시지의 개수를 지정한다. 최대 메시지 개수를 초과하지 않을 경우에는 한 세션이 순차적으로 처리하지만, 최대 메시지 개수를 초과하는 경우에는 다른 세션을 통해 메시지를 처리한다. 자세한 내용은 "JEUS EJB 안내서"와 JMS 스펙을 참고한다.
Value Type nonNegativeIntType
Default Value 10

(244) < jeus-ejb-dd >< beanlist >< jeus-bean > <ack-mode>
Description Message-Driven Bean에서만 사용하는 설정으로, 해당 MDB가 사용하는 JMS Session의 Ackndowledge mode를 설정한다. 자세한 내용은 "JEUS MQ 안내서"와 JMS 스펙을 참고한다.
Value Type ack-modeType
Default Value Auto-acknowledge
Defined Value

Auto-acknowledge

Dups-ok-acknowledge

(245) < jeus-ejb-dd >< beanlist >< jeus-bean > <durable>
Description Message-Driven Bean에서만 사용하는 설정으로, 해당 MDB를 JMS의 Durable Subscriber로 지정할지를 설정한다. 자세한 내용은 "JEUS MQ 안내서"와 JMS 스펙을 참고한다.
Value Type durableType
Default Value Durable
Defined Value

Durable

NonDurable

(246) < jeus-ejb-dd >< beanlist >< jeus-bean > <msg-selector>
Description Message-Driven Bean에서만 사용하는 설정으로, 해당 MDB가 사용할 Message Selector를 설정한다. 자세한 내용은 "JEUS MQ 안내서"와 JMS 스펙을 참고한다.
Value Type token

(247) < jeus-ejb-dd >< beanlist >< jeus-bean > <timer-service>
Description 각 Bean의 Timer에 대한 동작을 설정한다.
Value Type bean-timer-serviceType
Child Elements

(249) support-persistence

(248) < jeus-ejb-dd >< beanlist >< jeus-bean >< timer-service > <support-persistence>
Description 해당 Bean의 Timer를 persistent하게 관리할 것인지를 결정한다.
Value Type boolean
Default Value true

(249) < jeus-ejb-dd > <ejb-relation-map>
Description CMP 2.0 Entity Bean 간의 Relation을 정의하고, ejb-jar.xml에 선언된 각각의 Relation마다 하나씩 존재한다.
Value Type ejb-relation-mapType
Child Elements

(251) relation-name

(252) table-name

(253) jeus-relationship-role

(250) < jeus-ejb-dd >< ejb-relation-map > <relation-name>
Description 표준 ejb-jar.xml에 정의된 EJB 2.0 Relation의 이름을 명시한다.
Value Type token

(251) < jeus-ejb-dd >< ejb-relation-map > <table-name>
Description EJB Relation이 다 : 다(M:M) 관계라면 이 DB 내에서 다 : 다(M:M) Relation을 표현하는 "join-table"의 이름을 설정한다.
Value Type token

(252) < jeus-ejb-dd >< ejb-relation-map > <jeus-relationship-role>
Description 하나의 EJB와 다른 EJB 사이에 Relation을 명시한다. 각각의 항목은 단방향 Relation을 의미한다. 다 : 다(M:M) Relation인 경우 반드시 2개의 <jeus-relationship-role> 항목이 필요하다. 각각의 항목은 "join-table"의 각각의 Foreign Key와 EJB의 실제 Primary Key를 매핑한다.
Value Type jeus-relationship-roleType
Child Elements

(254) relationship-role-name

(255) column-map

(253) < jeus-ejb-dd >< ejb-relation-map >< jeus-relationship-role > <relationship-role-name>
Description ejb-jar.xml 파일의 <ejb-relationship-role-name>에 정의된 relationship role의 이름이다.
Value Type token

(254) < jeus-ejb-dd >< ejb-relation-map >< jeus-relationship-role > <column-map>
Description 하나의 테이블의 Foreign Key를 다른 EJB의 Primary Key와 매핑한다. 이 매핑은 단방향으로 Relation을 정의한다. 만약, Foreign Key나 Primary Key가 여러 컬럼이나 EJB 필드를 복합하여 사용되었을 경우 이것들은 모두 설정해야 한다.
Value Type column-mapType
Child Elements

(256) foreign-key-column

(257) target-primary-key-column

(255) < jeus-ejb-dd >< ejb-relation-map >< jeus-relationship-role >< column-map > <foreign-key-column>
Description <column-map>에 선언된 EJB의 DB 테이블에 존재하는 Foreign Key DB 컬럼의 이름이다. 이 Key는 Target Primary Key 컬럼에 정의된 상대 EJB의 Primary Key DB 컬럼의 값이 매핑된다. 다 : 다(M:M) relation인 경우는 relation 테이블에 존재하는 Foreign Key 컬럼의 이름이다.
Value Type token

(256) < jeus-ejb-dd >< ejb-relation-map >< jeus-relationship-role >< column-map > <target-primary-key-column>
Description Foreign Key 컬럼에 매핑될 상대 EJB의 Primary Key의 DB 컬럼 이름이다.
Value Type token

(257) < jeus-ejb-dd > <message-destination>
Description ejb-jar.xml의 <message-destination>에 선언된 Message Destination과 JNDI에 등록된 실제 Destination 객체를 매핑한다.
Value Type jndi-refType
Child Elements

(259) jndi-info

(258) < jeus-ejb-dd >< message-destination > <jndi-info>
Description Environment Entry에 사용되는 Logical 이름을 실제 JNDI 이름으로 매핑한다. 예를 들면 "jdbc/myDataSource"로 사용된 Environment Entry 이름을 실제 JNDI 이름인 "DataSource1"으로 매핑한다.
Value Type jndi-infoType
Child Elements

(260) ref-name

(261) export-name

(259) < jeus-ejb-dd >< message-destination >< jndi-info > <ref-name>
Description 소스코드에서 사용할 수 있는 참조 이름을 선언할 수 있다.
Value Type valuableToken
Value Description 실제 JNDI 이름에 바인드될 참조 이름이다. 이것은 해당하는 J2EE 표준 Descriptor 항목의 Ref Name에 대응된다.

(260) < jeus-ejb-dd >< message-destination >< jndi-info > <export-name>
Description JEUS DD에 정의된 실제 JNDI 이름을 설정한다.
Value Type token

(261) < jeus-ejb-dd > <client-view-path>
Description EJB 컴포넌트의 Stub 클래스들이 존재할 디렉터리를 설정한다.
Value Type token

(262) < jeus-ejb-dd > <class-ftp-unit>
Description 애플리케이션에 포함된 EJB 모듈의 클래스를 Remote로 전송할 때 JAR 파일 자체로 전송할지 한 클래스씩 전송할지를 설정한다.
Value Type class-ftp-unitType
Default Value JAR
Defined Value

JAR

CLASS

(263) < jeus-ejb-dd > <java-security-permission>
Description JEUS가 J2SE Security를 사용할 때 해당 애플리케이션에게 허용할 J2SE Permission을 설정한다.
Value Type securityPermissionType
Child Elements

(265) security-permission-spec

(266) description

(264) < jeus-ejb-dd >< java-security-permission > <security-permission-spec>
Description Security Permission을 기술한다. 형식은 Java Policy 파일을 따른다.
Value Type token

(265) < jeus-ejb-dd >< java-security-permission > <description>
Description Security Permission 설정에 대한 설명을 입력할 수 있다.
Value Type token

(266) < jeus-ejb-dd > <batch-thread-pool>
Description JBatch(JSR-352) 애플리케이션이 작동하기 위한 환경을 제공한다. 값이 설정되지 않을 경우, 컨테이너 내부적으로 JBatch 서비스를 실행가능한 최소한의 스레드풀 사이즈를 가진다.
Value Type dedicated-poolType
Child Elements

(268) min

(269) max

(270) keep-alive-time

(271) queue-size

(272) stuck-thread-handling

(267) < jeus-ejb-dd >< batch-thread-pool > <min>
Description Thread Pool에서 관리하는 스레드 수의 최솟값이다.
Value Type nonNegativeIntType
Default Value 0

(268) < jeus-ejb-dd >< batch-thread-pool > <max>
Description Thread Pool에서 관리하는 스레드 수의 최댓값이다.
Value Type nonNegativeIntType
Default Value 10

(269) < jeus-ejb-dd >< batch-thread-pool > <keep-alive-time>
Description Min 이하의 스레드에 대해서 설정된 시간 동안 사용되지 않는다면 자동적으로 Thread Pool에서 제거된다. 0이면 제거하지 않는다.
Value Type nonNegativeLongType
Value Description 밀리세컨드 단위로 설정한다.
Default Value 60000

(270) < jeus-ejb-dd >< batch-thread-pool > <queue-size>
Description Thread Pool이 처리하는 업무 개체를 저장하는 Queue의 크기를 지정한다.
Value Type nonNegativeIntType
Default Value 4096

(271) < jeus-ejb-dd >< batch-thread-pool > <stuck-thread-handling>
Description 스레드가 특정 업무 때문에 일정 시간 이상 계속 점유된 상태일 경우, 해당 스레드에 대해서 특정 액션을 취하기 위한 설정이다.
Value Type stuck-thread-handlingType
Child Elements

(273) max-stuck-thread-time

(274) action-on-stuck-thread

(275) stuck-thread-check-period

(276) user-warning-class

(272) < jeus-ejb-dd >< batch-thread-pool >< stuck-thread-handling > <max-stuck-thread-time>
Description 스레드를 Stuck Thread로 판단하는 기준이 되는 값을 설정한다. 설정된 시간 이상 계속 점유된 상태이면 해당 스레드를 Stuck Thread로 간주한다.
Value Type nonNegativeLongType
Value Description 밀리세컨드 단위로 설정한다.
Default Value 3600000

(273) < jeus-ejb-dd >< batch-thread-pool >< stuck-thread-handling > <action-on-stuck-thread>
Description Stuck Thread로 판단된 경우 그 쓰레드에 대해 특정 액션을 취하기 위한 설정이다.
Value Type action-on-stuck-threadType
Default Value None
Defined Value

None

Interrupt

IgnoreAndReplace

Warning

(274) < jeus-ejb-dd >< batch-thread-pool >< stuck-thread-handling > <stuck-thread-check-period>
Description Stuck Thread 의 상태를 체크하는 주기를 설정한다.
Value Type nonNegativeLongType
Value Description 밀리세컨드 단위로 설정한다.
Default Value 300000

(275) < jeus-ejb-dd >< batch-thread-pool >< stuck-thread-handling > <user-warning-class>
Description action-on-stuck-thread를 Warning으로 설정된 경우에 default는 thread dump를 찍어주도록 되어있으나, 사용자가 원하는 작업을 할 수 있도록 직접 클래스를 작성하고 싶을 때 이 설정을 사용한다. 해당 클래스는 jeus.util.pool.Warning를 반드시 implement 해야 하며, jeus.util.pool.Warning interface는 jclient.jar에서 찾을 수 있다. 클래스를 작성한 후에 사용하고 싶은 대상 서버의 SERVER_HOME/lib/application에 위치시킨다.
Value Type string
Value Description fullyQualifedClass 이름을 사용한다. ex) test.stuck.UserWarning

(276) < jeus-ejb-dd > <library-ref>
Description 애플리케이션에서 사용할 Shared Library 정보를 설정한다.
Value Type library-refType
Child Elements

(278) library-name

(279) specification-version

(282) implementation-version

(285) failon-error

(277) < jeus-ejb-dd >< library-ref > <library-name>
Description Shared Library 이름을 설정한다.
Value Type token

(278) < jeus-ejb-dd >< library-ref > <specification-version>
Description 사용할 Shared Library 스펙(specification) 버전을 설정한다.
Value Type library-ref-versionType
Child Elements

(280) value

(281) exact-match

(279) < jeus-ejb-dd >< library-ref >< specification-version > <value>
Description 버전의 값을 설정한다.
Value Type string

(280) < jeus-ejb-dd >< library-ref >< specification-version > <exact-match>
Description 정확히 매치되는 버전이 필요한지 여부를 설정한다.
Value Type boolean
Default Value false

(281) < jeus-ejb-dd >< library-ref > <implementation-version>
Description 사용할 Shared Library 구현(implementation) 버전을 설정한다.
Value Type library-ref-versionType
Child Elements

(283) value

(284) exact-match

(282) < jeus-ejb-dd >< library-ref >< implementation-version > <value>
Description 버전의 값을 설정한다.
Value Type string

(283) < jeus-ejb-dd >< library-ref >< implementation-version > <exact-match>
Description 정확히 매치되는 버전이 필요한지 여부를 설정한다.
Value Type boolean
Default Value false

(284) < jeus-ejb-dd >< library-ref > <failon-error>
Description 해당 Shared Library를 찾지 못할 경우 Deploy를 실패할지 여부를 설정한다. 기본값은 false이다.
Value Type boolean
Default Value false

[예 19.1] jeus-ejb-dd.xml 파일 예제

<?xml version="1.0" encoding="UTF-8"?>
<jeus-ejb-dd xmlns="http://www.tmaxsoft.com/xml/ns/jeus">
    <module-info>
        <role-permission>
            <principal>peter</principal>
            <role>manager</role>
        </role-permission>
    </module-info>

    <beanlist>
        <!-- stateless bean -->
        <jeus-bean>
            <!-- should be equal to ejb-name in ejb-jar.xml -->
            <ejb-name>teller</ejb-name>

            <!-- jndi binding name of remote interface -->
            <export-name>TELLEREJB</export-name>

            <!-- jndi binding name of local interface -->
            <local-export-name>LOCALTELLEREJB</local-export-name>

            <!-- rmi listen port -->
            <export-port>7654</export-port>

            <!-- use only iiop stub/skeleton -->
            <export-iiop>
                <only-iiop>true</only-iiop>
            </export-iiop>

            <!-- use this bean in only one ejb engine -->
            <single-vm-only>true</single-vm-only>

            <!-- if possible, use call by reference -->
            <preferred-call-by-reference>true</preferred-call-by-reference>
            
            <!-- principal name used as the run-as principal for this bean that has specified run-as role name in ejb-jar.xml -->
            <run-as-identity>
                <principal-name>peter</principal-name>
            </run-as-identity>

            <!-- use IIOP/CSI but has meaning only when this ejb-engine is using iiop -->
            <security-interop>
                <integrity-confidentiality>
                    Requires
                </integrity-confidentiality>
                <trust-in-client>Requires</trust-in-client>
                <client-auth>Requires</client-auth>
                <identity-assertion>Supports</identity-assertion>
            </security-interop>

            <!-- jndi name of reference using in this ejb and specified in ejb-jar.xml -->
            <env>
                java.lang.Integer
                <name>minAmount</name>
                <value>100</value>
            </env>
            <ejb-ref>
                <jndi-info>
                    <ref-name>ejb/AccountEJB</ref-name>
                    <export-name>ACCEJB</export-name>
                </jndi-info>
            </ejb-ref>
            <res-ref>
                <jndi-info>
                    <ref-name>jdbc/AccountDB</ref-name>
                    <export-name>ACCOUNTDB</export-name>
                </jndi-info>
            </res-ref>
            <res-env-ref>
                <jndi-info>
                    <ref-name>jms/StockQueue</ref-name>
                    <export-name>STOCKQUEUE</export-name>
                </jndi-info>
            </res-env-ref>

            <!-- maximum of running requests -->
            <thread-max>200</thread-max>

            <!-- foo(java.lang.String,int) is getter method so can be invoked again after fail to invoke it -->
            <clustering>
                <enable-clustering>true</enable-clustering>
                <idempotent-method>
                    <method-name>foo</method-name>
                    <method-params>
                        <method-param>java.lang.String</method-param>
                        <method-param>int</method-param>
                    </method-params>
                </idempotent-method>
            </clustering>

            <!-- does not use rmi directly but via http -->
            <invoke-http>
                <url>/mycontext/RMIHandlerServlet</url>
                <http-port>80</http-port>
            </invoke-http>
        </jeus-bean>

        <!-- statelful bean -->
        <jeus-bean>
            <ejb-name>shoppingcart</ejb-name>
            <export-name>SHOPPINGCARTEJB</export-name>
            
            <!-- ... -->

            <!-- use both bean pool and connection pool -->
            <object-management>
                <pooling-bean>true</pooling-bean>
                <bean-pool>
                    <pool-min>10</pool-min>
                    <pool-max>200</pool-max>
                    <resizing-period>1800000</resizing-period>
                </bean-pool>
                <capacity>2000</capacity>
                <passivation-timeout>10000</passivation-timeout>
                <disconnect-timeout>180000</disconnect-timeout>
            </object-management>

        </jeus-bean>

        <!-- entity bean -->
        <jeus-bean>
            <ejb-name>account</ejb-name>
            <export-name>ACCOUNTEJB</export-name>

            <!-- ... -->
            
            <!-- configuration for optimizing of invocation ejbLoad() and ejbStore() -->
            <persistence-optimize>
                <engine-type>SINGLE_OBJECT</engine-type>
                <non-modifying-method>
                    <method-name>myBusinessMethod</method-name>
                    <method-params>
                        <method-param>java.lang.String</method-param>
                        <method-param>int</method-param>
                        <method-param>double</method-param>
                    </method-params>
                </non-modifying-method>
                <entity-cache-size>100</entity-cache-size>
            </persistence-optimize>

            <!-- mapping bean to db -->
            <schema-info>
                <table-name>ACCOUNT</table-name>
                <cm-field>
                    <field>id</field>
                    <column-name>ID</column-name>
                    NUMERIC
                    <exclude-field>true</exclude-field>
                </cm-field>
                <creating-table>
                    <use-existing-table/>
                </creating-table>
                <deleting-table>true</deleting-table>
                <prim-key-field>
                    <field>id</field>
                </prim-key-field>
                <find-method>
                    <query-method>
                        <method-name>findByAddress</method-name>
                        <method-params>
                            <method-param>java.lang.String</method-param>
                        </method-params>
                    </query-method>
                    <sql>customer_address=?</sql>
                </find-method>
                <db-vendor>oracle</db-vendor>
                <data-source-name>MYDB</data-source-name>
                <auto-key-generator>
                    <generator-type>USER_KEY_TABLE</generator-type>
                    <generator-name>MYKEYTABLE</generator-name>
                    <sequence-column>
                        PRIMARYKEYCOLUMN
                    </sequence-column>
                    <key-cache-size>20</key-cache-size>
                </auto-key-generator>
            </schema-info>

            <!-- configuration for optimizing of invocation ejbLoad() and ejbStore() for only cmp entity bean-->
            <cm-persistence-optimize>
                <subengine-type>WriteLocking</subengine-type>
                <fetch-size>80</fetch-size>
                <init-caching>true</init-caching>
            </cm-persistence-optimize>

        </jeus-bean>

        <!-- ... -->

        <!-- message driven bean -->
        <jeus-bean>
            <ejb-name>order</ejb-name>

            <!-- ... -->

            <!-- jndi name of connection factory using this mdb -->
            <connection-factory-name>jms/QueueConnectionFactory</connection-factory-name>

            <!-- jndi name of JMS destination using this mdb -->
            <destination>MDB_QUEUE</destination>

            <!-- the maximum number of messages -->
            <max-message>20</max-message>

            <!-- this mdb is durable subscriber -->
            <durable>Durable</durable>

            <!-- use another naming server not jeus -->
            <jndi-spi>
                <mq-vendor>SONICMQ</mq-vendor>
                <initial-context-factory>
                    acme.jndi.ACMEContextFactory
                </initial-context-factory>
                <provider-url>
                    protocol://localhost:2345
                </provider-url>
            </jndi-spi>

        </jeus-bean>
    </beanlist>

    <!-- relationships between two entities -->
    <ejb-relation-map>
        <relation-name>bank-account</relation-name>
        <jeus-relationship-role>
            <relationship-role-name>bankHanAccount</relationship-role-name>
            <column-map>
                <foreign-key-column>account-id</foreign-key-column>
                <target-primary-key-column>id</target-primary-key-column>
            </column-map>
        </jeus-relationship-role>
    </ejb-relation-map>

    <!-- setting for JBatch (JSR-352) threadpool resource -->
    <batch-thread-pool>
        <min>10</min>
        <max>20</max>
        <keep-alive-time>20</keep-alive-time>
        <queue-size>4096</queue-size>
    </batch-thread-pool>
</jeus-ejb-dd>