1. JNDI 시스템 프로퍼티

본 절에서는 JNDI 시스템 프로퍼티에 대해 설명한다.

  • java.naming.factory.initial (필수)

    설명

    JNDI 서비스 프로바이더에 대한 InitialContext Factory 클래스 이름을 설정한다.

    이 Factory 클래스를 통해 InitialContext를 생성한다. 이 프로퍼티에 jeus.jndi.JNSContextFactory를 넣어서 JEUS의 InitialContext를 생성한다.

    기본값

    jeus.jndi.JNSContextFactory

  • java.naming.factory.url.pkgs

    설명

    JEUS의 InitialContext에서 URL scheme을 사용해서 lookup하기 위해 설정한다.

    기본값

    jeus.jndi.jns.url

  • java.naming.provider.url

    설명

    JNDI 서비스를 제공하는 MS의 DNS 호스트 이름과 포트를 정의한다. 즉, JEUS의 JNSServer의 IP 주소를 설정한다. 클러스터링으로 묶인 MS에 JNDI 요청을 할 때에는 클러스터링된 모든 서버의 주소를 콤마(,)로 구분해야 한다.

    (예: yohan:9736, yohan1:9836)

    기본값

    127.0.0.1:9736

  • java.naming.security.principal

    설명

    JEUS Naming Server에서 인증받기 위한 사용자명을 입력한다. 사용자명이 설정되지 않으면 “anonymous”로 처리된다.

    사용자명은 JEUS Security 도메인에 정의되어 있어야 한다.

    기본값

    anonymous

  • java.naming.security.credentials

    설명

    JEUS Naming Server에서 인증받기 위한 패스워드를 입력한다.

    기본값

    N/A

  • jeus.jndi.jns.resolution

    설명

    JNSClient가 리소스를 관리하는 체크 시간의 간격을 지정한다.

    기본값

    30 * 1000 (단위: ms)

  • jeus.jndi.jns.connecttimeout

    설명

    JNSClient가 JNSServer로 접속하는 데 사용하는 타임아웃을 지정한다.

    이 시간 동안 접속을 시도하다가 시간이 초과되면 jeus.net.ConnectException이 발생한다.

    기본값

    0 (무한대를 의미, OS에 따라 다를 수 있음) (단위: ms)

  • jeus.jndi.jns.connectionduration

    설명

    JNSClient가 JNSServer로 접속한 커넥션을 얼마나 유지할지 설정한다. 지정한 시간 동안 커넥션을 사용하지 않으면 커넥션이 자동으로 종료된다.

    기본값은 0으로 커넥션이 계속 유지된다.

    기본값

    0 (단위: ms)

  • jeus.jndi.local.tmout

    설명

    JNDI 서비스에서 클라이언트 역할을 하는 JNSClient에서 요청을 보낸 후 응답이 올 때까지 기다리는 시간을 지정한다. 이 시간이 지나도 JNSServer로부터 응답이 오지 않으면 jeus.util.WaitTimeoutException이 발생한다.

    기본값

    20 * 1000 (단위: ms)

  • jeus.jndi.cluster.recheckto

    설명

    JEUSClusterContext를 사용할 때 fail된 서버가 다시 살아났는지 확인할 주기를 지정한다.

    기본값

    300 * 1000 (단위: ms)

  • jeus.jndi.clusterlink.selection-policy

    설명

    클러스터링된 서버에 바인드된 어떤 객체를 lookup해서 사용하는 경우 어떤 서버에서 객체를 가져올 것인지에 대한 정책을 설정한다. EJB 2.x를 사용하는 경우에는 사용할 EJB 엔진을 선택하는 데에도 사용된다. 직접 Hashtable을 이용하여 환경값을 준 경우에는 system property보다는 주어진 환경 값을 우선한다.

    다음 중 하나를 선택할 수 있다.

    • locallinkPreference : 로컬 MS에 있는 객체를 사용하도록 한다. (기본값)

    • roundrobin : 처음 요청에서는 랜덤하게 선택한 MS의 객체를 사용하고, 그 후 요청부터는 하나씩 증가하면서 서버를 선택한다.

    • random : 클러스터링된 MS들 중에서 랜덤하게 하나를 선택하여 사용한다.

    • xid-hashing : xid의 hashing값에 의해 서버를 결정한다. 그 결과 동일한 xid를 가진 요청은 동일한 서버만을 선택한다.

    기본값

    locallinkPreference

  • jeus.jndi.enable.cache

    설명

    JNDI 클라이언트(JNSClient)에서 캐시(Cache)를 사용할 것인지를 여부를 설정한다.

    • true : 캐시를 사용한다. (기본값)

    • false : 캐시를 사용하지 않는다.

    기본값

    true

  • jeus.jndi.jns.replicatebindings

    설명

    바인드하는 객체를 클러스터링으로 묶인 MS 전체에서 공유할 것인지 여부를 설정한다.

    • true : 객체를 공유한다. (기본값)

    • false : 객체를 공유하지 않는다.

    기본값

    true

  • jeus.jndi.jns.cachebindings

    설명

    객체를 바인드할 때 이 옵션을 설정하면 JNSServer에서 바인드를 완료한 후 JNSClient에 그 객체를 caching한다.

    • true : 객체를 caching한다. (기본값)

    • false : 객체를 caching하지 않는다.

    기본값

    true

  • jeus.jndi.jns.localbindings

    설명

    객체를 자신의 JVM에 있는 JNSClient에만 바인드한다.

    • true : 객체를 JEUS Naming Client에만 바인드한다. 이렇게 바인드한 객체는 JNDI 요청을 하는 클라이언트에서만 사용할 수 있다.

    • false : 객체를 JEUS Naming Server에 바인드한다. (기본값)

    기본값

    false

  • jeus.jndi.compat

    설명

    JNDI compatibility를 위한 설정이다. JEUS 7 Fix#2 이후 버전과 이전 버전 사이에 JNDI 서비스를 제공하려면 해당 property를 true로 설정해야 한다.

    • true : JNDI 서버가 JEUS 7 Fix#2 이전 버전이고, JNDI 클라이언트가 JEUS 7 Fix#2를 포함한 이후 버전일 때 JNDI compatibility를 위해 해당 property를 true로 설정해야 한다.

    • false : JEUS 7 Fix#2 이후 버전과 이전 버전 사이에 JNDI compatibility를 유지하지 않는다. (기본값)

    기본값

    false