제4장 콘솔 툴

내용 목차

4.1. 개요
4.2. jeusadmin
4.2.1. 기동 및 종료 명령어
4.2.2. Local 명령어
4.2.3. Server Management 관련 명령어
4.2.4. Domain Configuration 관련 명령어
4.2.5. Thread Management 관련 명령어
4.2.6. Application 관련 명령어
4.2.7. EJB 엔진 관련 명령어
4.2.8. 웹 엔진 관련 명령어
4.2.9. 세션 관련 명령어
4.2.10. JMS 엔진 관련 명령어
4.2.11. 데이터소스 관련 명령어
4.2.12. Connection Pool 제어 및 모니터링 명령어
4.2.13. 트랜잭션 관련 명령어
4.2.14. 보안 관련 명령어
4.2.15. 노드 관리 관련 명령어
4.2.16. 노드 매니저 관련 명령어
4.2.17. 설정 편집 명령어
4.2.18. JSON을 사용한 명령어 실행
4.2.19. Script 모드 사용법 및 Script 작성법
4.3. appcompiler
4.4. ejbddinit
4.5. encryption
4.6. java2wsdl
4.7. schemagen
4.8. tcpmon
4.8.1. 실행
4.8.2. Listener 모드의 사용
4.8.3. Proxy 모드의 사용
4.8.4. 기타 기능
4.9. webddgen
4.10. wsgen
4.11. wsimport
4.12. wsdl2java
4.13. wsdl2uddi
4.14. xjc

본 장에서는 JEUS에서 사용하는 콘솔 툴의 종류와 사용법에 대해 설명한다.

4.1. 개요

다음은 JEUS에서 사용하는 콘솔 툴의 목록이다.

  • Admin 툴

    콘솔 툴설명
    jeusadmin JEUS를 직접 관리하기 위해 사용하는 콘솔 툴이다.
  • 기타 툴

    콘솔 툴설명
    appcompiler 애플리케이션의 EJB 인터페이스 Impl, Skeleton, Stub 클래스, JSP를 컴파일하여 서블릿 클래스, 웹 서비스의 Endpoint 클래스 등을 생성한다.
    ejbddinit EJB 모듈의 DD 파일(jeus-ejb-dd.xml)을 ejb-jar.xml 정보와 사전에 생성된 프로퍼티 파일을 이용하여 생성할 수 있다.
    encryption 암호화할 문자열을 암호화하거나 그 반대로 복호화하는 기능을 제공한다.
    java2wsdl Java 클래스로부터 WSDL파일과 JAX-RPC 매핑 파일을 생성한다.
    schemagen Java 클래스들에 나타나는 각각의 Namespace에 대해 하나의 스키마 파일을 생성한다.
    tcpmon 송수신하는 TCP 패킷을 조회한다. tcpmon은 HTTP의 SOAP 메시지를 조회할 수 있다.
    webddgenWEB 모듈의 DD 파일(jeus-web-dd.xml)을 생성하거나 업데이트할 수 있다.
    wsgen JAX-WS 웹 서비스를 위한 툴로 Java 클래스로부터 WSDL 파일과 JAX-RPC 매핑 파일을 생성한다. 또한 웹 서비스 정책 설정 파일을 생성할 수 있다.
    wsimport WSDL 파일로부터 클라이언트 측 Java Stub 소스 파일들과 서버 측 웹 서비스 인터페이스 Java 소스 파일을 생성한다. 또한 웹 서비스 정책 설정 파일을 생성할 수 있다.
    wsdl2java WSDL 파일로부터 클라이언트 측 Java Stub 소스 파일과 서버 측 웹 서비스 인터페이스 Java 소스 파일을 생성한다.
    wsdl2uddi 웹 서비스의 WSDL 파일로부터 UDDI에 Publish할 수 있다.
    xjcXML 스키마 파일을 Java 프로그래밍 언어로 된 JAXB Content 클래스들로 변환한다.

4.2. jeusadmin

본 절에서는 JEUS의 관리 툴인 jeusadmin의 명령어와 그 사용법에 대해서 설명한다.

jeusadmin은 JEUS를 직접 관리하기 위해 사용하는 콘솔 툴이다. 이 툴을 사용하면 JEUS 서버의 기동과 종료와 같은 기본적인 관리 작업을 할 수 있으며 애플리케이션의 deploy/undeploy와 logger 레벨 변경 작업, JMX MBean의 목록 조회 등 여러 가지 주요 작업을 할 수 있다.

jeusadmin에서 사용하는 명령어에 대한 기본 문법은 다음과 같다.

COMMAND [COMMAND_OPTIONS] 
        [GLOBAL_OPTIONS] 
        (>|>>) FILENAME
  • COMMAND

    명령어 이름 또는 alias를 설정한다.

  • COMMAND_OPTIONS

    해당 명령어에 대한 옵션을 설정한다.

    옵션으로 명령어를 주거나 옵션이 공백을 포함할 경우 큰따옴표(" ")로 COMMAND_OPTIONS)를 묶는 것을 원칙으로 한다. 다만, 큰따옴표(" ") 묶음을 두 번 이상 사용할 경우에는 사용하는 운영체제별로 이스케이프 문자를 사용하도록 한다.

    운영체제큰따옴표에 대한 이스케이프 문자
    Windows OS큰따옴표(" ")
    Linux OS역슬래시( \ )

    다음은 이에 대한 명령어 예시이다.

    [Windows OS] jeusadmin -u jeus -p 11111111 -host localhost:9116 "help -g ""Data Source and Connection Pool"""
    [ Linux OS ] jeusadmin -u jeus -p 11111111 -host localhost:9116 "help -g \"Data Source and Connection Pool\""
    
  • GLOBAL_OPTIONS

    모든 명령어에 대해 적용할 수 있는 공용 옵션을 설정한다.

    옵션설명
    -verbose오류가 발생하는 경우 Stack Trace를 출력한다.
    -repeat <count>명령어를 repeat count 횟수만큼 반복 실행한다.
    -interval <seconds>

    반복해서 실행하는 경우 실행 간격을 초 단위로 지정한다.

    -repeat 옵션을 주지 않고 사용할 경우 오류가 발생한다.

  • (>|>>) FILENAME

    명령어 실행 결과를 파일에 저장할 때 사용한다. 저장할 파일 이름은 FILENAME으로 지정한다.

    다음과 같이 사용할 수 있다.

    offline>help > result.txt
    또는
    offline>help >> result.txt

4.2.1. 기동 및 종료 명령어

jeusadmin을 실행하고 종료하는 명령어는 다음과 같다.

명령어설명
jeusadminjeusadmin을 실행한다.
exit관리 작업을 완료하고 jeusadmin을 종료할 때 사용하는 명령어이다.

4.2.1.1. jeusadmin

jeusadmin을 실행한다. 이 파일은 JEUS_HOME/bin에 위치한다.

  • 사용법

    jeusadmin [-u,--username <username>]
              [-p,--password <password>]
              [-f <filename>]
              [-cachelogin]
              [-d,--domain <domain>]
              [-host <server address>]
              [-port <server port>]
              [-verbose]
              [-help]
              [<target command>]
              [-version]
              [-fullversion]
              [-buildversion]
              [-licensedue]
              [-licenseinfo]
              [-debug]
              [-script (<script file>|"<script file> <args> ...")]
  • 파라미터

    파라미터설명
    [-u, --username <username>]

    접속할 때 사용할 사용자 이름을 지정한다.

    옵션을 준 경우 실행하면서 서버에 접속을 시도한다.

    [-p, ---password <password>]

    접속할 때 사용할 비밀번호를 지정한다.

    옵션을 준 경우 실행하면서 서버에 접속을 시도한다.

    [-f <filename>]접속할 때 사용할 사용자 이름과 비밀번호를 담은 파일을 지정한다.
    [-cachelogin]특정 도메인(또는 기본 도메인)에 접속할 때 사용했던 사용자 이름과 비밀번호를 기록한다.
    [-d, --domain <domain>]접속하고자하는 도메인의 이름 지정한다.
    [-host <server address>

    접속할 때 사용할 주소를 지정한다.

    [-u] 옵션과 [-p] 옵션을 준 상태에서 이 옵션을 별도로 주지 않으면 localhost로 접속을 시도한다.

    [-port <server port>]

    접속할 때 사용할 포트 번호를 지정한다.

    [-u] 옵션과 [-p] 옵션을 준 상태에서 이 옵션을 별도로 주지 않으면 9736 포트로 접속을 시도한다.

    [-verbose]실행 중 오류가 발생할 경우 세부 사항까지 출력한다.
    [-help]jeusadmin에 대한 도움말을 출력한다.
    [<target command>]

    <target command>를 한 번 실행한다. 스크립트에서 사용할 때 유용하다.

    만약 서버에 접속이 필요한 명령어라면 [-u], [-p], [-host], [-port] 등 필요한 옵션을 같이 주어야 한다.

    [-version]JEUS의 메이저 버전을 출력한다.
    [-fullversion]JEUS의 메이저 버전과 마이너 버전을 출력한다.
    [-buildversion]JEUS의 메이저 버전과 빌드 버전을 출력한다.
    [-licensedue]라이선스의 남은 기간을 출력한다. 남은 기간이 0이 되면 JEUS는 더 이상 동작하지 않으므로, TmaxSoft로부터 새로운 라이선스를 발급받아야 한다.
    [-licenseinfo]현재 설치된 라이선스에 대한 정보를 출력한다.
    [-debug]jeusadmin에서 Jeus Logger를 통해 출력되는 로그 메시지들을 표시하도록 한다.
    [-script (<script file>|"<script file> <args> ...")]Script 모드로 jeusadmin을 실행한다. 이때 파일의 확장자는 .py(Python), .rb(Ruby)이어야 한다.
  • 예제

    다음은 JEUS 사용자 이름은 'administrator', 비밀번호는 'jeus'로 가정한 jeusadmin 예제이다.

    • jeusadmin 실행

      다음은 jeusadmin을 실행하는 예제이다.

      JEUS_HOME/bin$jeusadmin
      JEUS8 Administration Tool
      To view help, use the 'help' command.
      offline>
      
    • 실행하면서 바로 서버에 접속 #1

      다음은 localhost:9736에 있는 서버에 접속하는 경우에 대한 예제이다.

      JEUS_HOME/bin$jeusadmin -u administrator -p jeus
      Attempting to connect to 127.0.0.1:9736.
      The connection has been established to Domain Administration Server adminServer in the domain domain1.
      JEUS8 Administration Tool
      To view help, use the 'help' command.
      [DAS]domain1.adminServer>
      
    • 실행하면서 바로 서버에 접속 #2

      다음은 IP 주소와 포트 번호를 지정해서 접속하는 경우에 대한 예제이다.

      JEUS_HOME/bin$jeusadmin -u administrator -p jeus -host 192.168.0.1 -port 9746
      Attempting to connect to 192.168.0.1:9746.
      The connection has been established to Domain Administration Server adminServer in the domain domain1.
      JEUS8 Administration Tool
      To view help, use the 'help' command.
      [DAS]domain1.adminServer>
    • 라이선스 정보 보기

      다음은 JEUS 라이선스를 조회하는 예제이다.

      JEUS_HOME/bin$jeusadmin -licensedue
      Unlimited
      
      JEUS_HOME/bin$jeusadmin -licenseinfo
      =====================  LICENSE INFORMATION =====================
      === EDITION : Enterprise (Trial License)
      === ISSUE-DAY : 2016/1/16
      === LICENSE SEQNO : xxx-xxxx-xxx-xxxx
      ================================================================
  • SSL을 사용하여 jeusadmin에 접속

    SSL을 사용하여 jeusadmin에 접속할 경우 jeusadmin 실행 스크립트 파일을 열어 아래 시스템 프로퍼티를 설정한다(시스템 프로퍼티의 값은 서버의 SSL 설정에 따라 다를 수 있다).

    . . . 
    # execute jeusadmin
     "${JAVA_HOME}/bin/java" -classpath "${BOOTSTRAP_CLASSPATH}" ${TOOL_OPTION}     
          -Djmx.remote.x.request.timeout=600000                                     
          -Djava.library.path="${JEUS_LIBPATH}"                                     
          -Djeus.home="${JEUS_HOME}"                                                
          -Djeus.baseport=${JEUS_BASEPORT}                                          
          -Djeus.tool.console.useJLine="false"                                      
          -Djava.endorsed.dirs="${JEUS_HOME}/lib/endorsed"                          
          -Djava.naming.factory.initial=jeus.jndi.JEUSContextFactory                
          -Djava.naming.factory.url.pkgs=jeus.jndi.jns.url                          
          -Djava.util.logging.config.file="${JEUS_HOME}/bin/logging.properties"     
          -Djeus.net.client.use-ssl=true                                            
          -Djavax.net.ssl.trustStore=${JEUS_HOME}/domains/domain1/config/truststore 
          -Djavax.net.ssl.trustStorePassword=changeit                               
          -Djavax.net.ssl.trustStoreType=JKS                                        
          -Dssl.TrustManagerFactory.algorithm=SunX509                               
          ${JAVA_ARGS}                                                              
          jeus.tool.console.ConsoleBootstrapper ${BOOT_PARAMETER}

4.2.1.2. exit

관리 작업을 완료하고 jeusadmin을 종료할 때 사용하는 명령어이다.

  • alias

    quit

  • 사용법

    exit
  • 예제

    [DAS]domain1.server1>exit
    JEUS_HOME/bin$
  • 참고

    본 명령어는 서버에 접속하지 않은 상태에서도 사용할 수 있다.

4.2.2. Local 명령어

다음은 서버 접속, 도움말, 히스토리 기능 등을 제공하는 기본 명령어들이다.

명령어설명
connectDAS나 MS에 접속을 시도한다.
disconnect접속을 끊고 Off-line 상태로 돌아간다.
help명령어에 대한 도움말을 출력한다.
history입력했던 명령어들에 대한 기록을 출력한다.
p입력했던 명령어들 중 하나를 골라 실행한다. 옵션을 주지 않고 실행하는 경우 직전에 실행했던 명령어를 다시 실행한다.
remove-login-cachecachelogin 기능을 통해 저장된 특정 사용자 로그인 정보를 캐시 파일에서 제거한다.
set-server-optionserver 옵션에 대한 기본값을 설정한다.
set-servers-optionservers 옵션에 대한 기본값을 설정한다.
start-record입력하는 명령어들을 스크립트 형태로 저장하는 레코딩 기능을 시작한다.
stop-record레코딩 기능을 중지한다.
unset-server-optionset-server-option으로 설정한 기본값을 삭제한다.
unset-servers-optionset-servers-option으로 설정한 기본값을 삭제한다.
verbose명령어를 수행할 때 상세 출력 모드를 켜거나 끈다.

4.2.2.1. connect

서버에 접속을 시도한다. 사용자 이름과 비밀번호를 입력해 주어야한다. host를 입력받지 않으면 localhost로 접속을 시도한다.

  • alias

    login

  • 사용법

    connect [-u,--username <username>]
            [-p,--password <password>]
            [-f <filename>]
            [-cachelogin]
            [-h,--host <server address>]
            [-port <server port>]
    
  • 파라미터

    파라미터설명
    [-u, --username <username>]접속할 때 사용할 사용자 이름을 지정한다.
    [-p, --password <password>]접속할 때 사용할 비밀번호를 지정한다.
    [-f <filename>]접속할 때 사용할 사용자 이름과 비밀번호를 저장한 파일을 지정한다.
    [-cachelogin]접속할 때 사용한 사용자 이름과 비밀번호를 파일에 기록한다.
    [-h, --host <server address>]접속할 서버의 주소를 지정한다. 아무 것도 입력하지 않으면 localhost로 접속을 시도한다.
    [-port <server port>접속할 서버의 포트를 지정한다. 별도로 지정하지 않는 경우 물어보지 않고 기본값을 사용한다. (기본값: 9736)
  • 예제

    • [-u] 옵션과 [-h] 옵션을 주고, [-h] 옵션으로 접속할 호스트 정보를 입력하여 커맨드를 실행한다.

      offline>connect -u administrator -p jeus -h 127.0.0.1
      Attempting to connect to 127.0.0.1:9736.
      The connection has been established to Domain Administration Server adminServer in the domain domain1.
      [DAS]domain1.adminServer>
      
    • [-h] 옵션을 넣지 않은 경우 localhost로 접속하게 된다.

      offline>connect -u administrator -p jeus
      Attempting to connect to 127.0.0.1:9736.
      The connection has been established to Domain Administration Server adminServer in the domain domain1.
      [DAS]domain1.adminServer>
      
  • 참고

    본 명령어는 서버에 접속하지 않은 상태에서도 사용할 수 있다.

4.2.2.2. disconnect

접속을 끊고 Off-line 상태로 돌아가는 명령어이다.

  • alias

    logout

  • 사용법

    disconnect
  • 예제

    offline>connect
    Enter the server address:
    User name: administrator
    Password:
    Attempting to connect to 127.0.0.1:9736.
    The connection has been established to Domain Administration Server adminServer in the domain domain1.
    [DAS]domain1.adminServer>disconnect
    The connection has been closed.
    offline>
    
  • 참고

    본 명령어는 서버에 접속하지 않은 상태에서도 사용할 수 있다.

4.2.2.3. help

명령어들에 대한 도움말을 출력한다. 별도의 옵션을 주지 않고 실행할 경우 도움말과 함께 현재 사용할 수 있는 명령어 목록, 명령어 기본 문법에 대한 설명을 조회한다.

  • 사용법

    help [-g,--group <group name> | <command name> | -l,--list]
  • 파라미터

    파라미터설명
    [-g,--group <group name>]주어진 그룹(group name)에 속한 명령어에 대한 목록과 간단한 설명을 출력한다.
    [<command name>]

    특정 명령어(command name)에 대한 도움말을 출력한다.

    명령어 이름, 별칭(alias), 사용법, 옵션에 대한 정보를 조회한다.

    옵션을 생략하고 사용할 수도 있다.

    [-l,--list]모든 명령어에 대한 간단한 설명을 출력한다.
  • 예제

    • help 명령어만 사용할 경우

      offline>help
      LIST OF AVAILABLE COMMANDS
      [ Local]____________________________________________________________________
        connect                             disconnect                            
        exit                                help                                  
        history                             p                                     
        remove-login-cache                  set-server-option
        set-servers-option                  start-record
        stop-record                         unset-server-option
        unset-servers-option                verbose
      
      [ Server Management]________________________________________________________
        local-shutdown                      local-start-server                    
      
      [ Domain Configuration]_____________________________________________________
        apply-configuration-plan            create-domain                         
        delete-domain                       list-domains                          
        pack-domain                         unpack-domain                         
      
      [ Application]______________________________________________________________
        install-application                 install-deployment-plan               
        redeploy-application                
      
      [ Web]______________________________________________________________________
        precompile-jsp                      
      
      [ NodeManager]______________________________________________________________
        connect-nodemanager                 disconnect-nodemanager                
        nm-start-server                     nm-state-server                       
        nm-stop-server                      stop-nodemanager                      
      
      COMMAND GRAMMAR
          Command Usage
              COMMAND [COMMAND_OPTIONS] [GLOBAL_OPTIONS] [(>|>>) FILENAME]
          Details
              COMMAND: target command to execute.
              [COMMAND_OPTIONS]: Options for target command.
              [GLOBAL_OPTIONS]: Common options for all commands.
                  -verbose
                      Prints the stack trace for errors.
                  -repeat <count>
                      Repeats the target command X times.
                  -interval <seconds>
                      Specifies the interval at which to repeat execution, in 
                      seconds.
              [(>|>>) FILENAME]
                  Prints the result of the target command to the specified file.
          Examples
              help -l -repeat 3 -interval 10 > result.txt
      
      To show detailed information for a command, use 'help [COMMAND_NAME]'.
      ex) help connect
      offline>
      
    • help 명령어에 [-l] 옵션과 같이 사용하는 경우

      offline>help -l
      [ Local]____________________________________________________________________
        connect                  Attempting to authenticate with the target
                                 server.
        disconnect               Disconnects from the currently connected server.
      
        ......
      
      [ Server Management]________________________________________________________
        local-shutdown           Shuts down the currently connected server.
        local-start-server       On off-line mode, start managed server via SSH.
                                 You should specify -node, -domain, -server, -u,
                                 -p, -dasurl.
                                 On on-line mode, start standby server.
      
        ......
      
      [ NodeManager]______________________________________________________________
        connect-nodemanager      Connects to the node manager.
        disconnect-nodemanager   Closes the connection to the node manager.
        nm-start-server          Starts a server using the node manager.
        nm-state-server          Shows the state of a server using node manager.
        nm-stop-server           Stops a server using the node manager.
        stop-nodemanager         Stops the node manager.
      
      To show detailed information for a command, use 'help [COMMAND_NAME]'.
      ex) help connect
      offline>
    • help 명령어에 [-g] 옵션과 같이 사용하는 경우

      다음은 'Server Management' 그룹 명령어 목록을 출력하는 예제이다.

      offline>help -g "Server Management"
      [ Server Management]________________________________________________________
        local-shutdown     Shuts down the currently connected server.
        local-start-server On off-line mode, start managed server via SSH.
                           You should specify -node, -domain, -server, -u,
                           -p, -dasurl.
                           On on-line mode, start standby server.
      
      To show detailed information for a command, use 'help [COMMAND_NAME]'.
      ex) help connect
      offline>
      
    • [<command name>] 옵션을 사용해 특정 명령어에 대한 도움말을 조회하는 경우

      다음은 add-server 명령어 설명을 출력하는 예제이다.

      [DAS]domain1.adminServer>help add-server
      NAMES
          add-server
              Adds a new server to the domain configuration. If a server name is
              not provided, the current server list in this domain will be shown.
      ALIAS
          addserver
      USAGE
          add-server <server-name>
              [-target,--duptargetserver <target-server>]
              [-port,--baseport <base-port>]
              [-addr,--baseaddr <base-addr>]
              [-node,--nodeName <node-name>]
              [-jvm,--jvmOptions <jvm-options>]
              [-logdir,--logHomeDirectory <server-log-home-directory>]
              [-a,--actionOnResourceLeak <action-on-resource-leak>]
              [-l,--logStdoutToRawFormat <print-stdout-to-raw-format>]
              [-m,--mejb <enable-MEJB>]
              [-c,--classFtp <enable-class-ftp-service>]
              [-f,--forceLock]
              [-detail]
      OPTIONS
          <server-name>
              the name of server you want to modify configuration of
      
          [-target,--duptargetserver <target-server>]
              duplicate the configuration of the target server
      
          [-port,--baseport <base-port>]
              base service listen port of the server
      
          [-addr,--baseaddr <base-addr>]
              base service listen address of the server
      
          [-node,--nodeName <node-name>]
              name of the node this server is located
      
          [-jvm,--jvmOptions <jvm-options>]
              jvm configurations applied to this server jvm
      
          [-logdir,--logHomeDirectory <server-log-home-directory>]
              the log directory which has all the log files created by this server
      
          [-a,--actionOnResourceLeak <action-on-resource-leak>]
              strategy when resource leak is detected. it must be one of
              AutoClose, NoAction, Warning
      
          [-l,--logStdoutToRawFormat <print-stdout-to-raw-format>]
              [Dynamic] whether stdout is printed in row format or in JEUS Logger
              format.
      
          [-m,--mejb <enable-MEJB>]
              [Dynamic] whether using MEJB or not .true, false
      
          [-c,--classFtp <enable-class-ftp-service>]
              [Dynamic] whether using class ftp service or not .true, false
      
          [-f,--forceLock]
              Acquires the configuration lock forcibly.
      
          [-detail]
              Show detail results 

  • 참고

    본 명령어는 서버에 접속하지 않은 상태에서도 사용할 수 있다.

4.2.2.4. history

이전에 실행했던 명령어 목록을 조회한다.

명령어 목록은 ${user.home}/.jeusadmin/commandHistory에 저장된다. 기록한 명령어를 다시 실행할 경우에는 p 명령어를 사용한다. 실행했던 명령어 기록은 최대 100개까지 가능하다.

  • 사용법

    history [-clear | <size>]
  • 파라미터

    파라미터설명
    [-clear]실행했던 명령어 목록을 지우고 초기화한다.
    [<size>]출력할 명령어 개수를 설정한다. 최근에 실행한 순으로 size만큼 출력한다.
  • 예제

    offline>history
    1 : help history
    2 : connect -u administrator -p jeus
    3 : disconnect
    
    To execute a command in the history, please use '!' command (e.g. ! 7)
    offline>history 3
    3 : disconnect
    
    To execute a command in the history, please use '!' command (e.g. ! 7)
    offline>history -clear
    The command history has been cleared.
    offline>
    
  • 참고

    본 명령어는 서버에 접속하지 않은 상태에서도 사용할 수 있다.

4.2.2.5. p

실행했던 명령어를 다시 실행하려고 할 때 사용한다. 실행했던 명령어 목록은 history 명령어를 통해 확인할 수 있다.

  • alias

    !

  • 사용법

    p [<history number>]
  • 파라미터

    파라미터설명
    [<history number>]명령어 기록에서 실행할 명령어의 번호를 지정한다.
  • 예제

    offline>history
    1 : connect -u jeus -p jeus
    2 : disconnect
    
    To execute a command in the history, please use '!' command (e.g. ! 7)
    offline>p 1
    connect -u jeus -p jeus
    Attempting to connect to 127.0.0.1:9736.
    The connection has been established to Domain Administration Server adminServer in the domain domain1.
    [DAS]domain1.adminServer>! 2
    disconnect
    The connection has been closed.
    offline>
    
  • 참고

    본 명령어는 서버에 접속하지 않은 상태에서도 사용할 수 있다.

4.2.2.6. remove-login-cache

cachelogin 기능을 통해 저장된 특정 사용자 로그인 정보를 캐시 파일에서 제거한다.

cachelogin 기능에 의해 저장된 로그인 정보는 <domain-name><user-name>에 의해 구분된다.

  • 사용법

    remove-login-cache [-domain <domain-name>]
                       [-u <user-name>]
                       [-f <filename>]
  • 파라미터

    파라미터설명
    [-domain <domain-name>]로그인 정보를 저장할 때 사용했던 도메인 이름을 지정한다.
    [-u <user-name>]로그인 정보를 저장할 때 사용했던 사용자 이름을 지정한다.
    [-f <filename>]사용자 이름과 비밀번호가 저장된 비밀번호 파일 이름을 지정한다.
  • 예제

    offline>remove-login-cache -domain domain1 -u user1
    The cached login information [domain1:user1] has been successfully removed from /home/OSUser/.jeusadmin/.jeuspasswd.
  • 참고

    본 명령어는 서버에 접속하지 않은 상태에서도 사용할 수 있다.

4.2.2.7. set-server-option

-server 옵션에 대한 기본값을 설정할 수 있는 기능을 제공한다. 옵션을 주지 않고 사용할 경우 현재 설정한 기본값을 출력한다.

  • alias

    setserver

  • 사용법

    set-server-option <server-name>
  • 파라미터

    파라미터설명
    <server-name>server 옵션에 대해 기본값으로 사용할 서버 이름을 설정한다.
  • 예제

    adminServer를 기본값으로 설정하여 jndi-info 명령어를 실행한다. set-server-option 명령어를 사용해 <server-name>를 지정해주기 전에는 jndi-info 명령어를 실행하면 -server 옵션이 주어지지 않았다는 오류가 발생하지만, 지정해 준 후에는 별도로 -server 옵션을 주지 않아도 adminServer에 대해 jndi-info 명령어가 동작함을 확인할 수 있다.

    [DAS]domain1.adminServer>jndi-info
    The following options are missing: server
    [DAS]domain1.adminServer>set-server-option
    The default server name is not set.
    [DAS]domain1.adminServer>set-server-option adminServer
    The default server name has been set: adminServer.
    [DAS]domain1.adminServer>set-server-option
    The current default server name: adminServer.
    [DAS]domain1.adminServer>jndi-info
    The JNDI list on the adminServer
    List of the context /
    ================================================================================
    +---------------------+----------------------------------------+---------------+
    |         Name        |                  Value                 | Local Binding |
    +---------------------+----------------------------------------+---------------+
    | ConnectionFactory   | jeus.jms.client.facility.factory.JeusC | false         |
    |                     |onnectionFactory                        |               |
        ......
    
    [DAS]domain1.adminServer>
  • 참고

    본 명령어는 서버에 접속하지 않은 상태에서도 사용할 수 있다.

4.2.2.8. set-servers-option

-servers 옵션에 대한 기본값을 설정한다. 옵션을 주지 않고 실행한 경우 현재 설정되어 있는 기본값을 출력한다.

  • alias

    setservers

  • 사용법

    set-servers-option [<server-list>]
  • 파라미터

    파라미터설명
    [<server-list>]servers 옵션에 대해 기본값으로 사용할 서버 이름들을 지정한다. 각 서버 이름은 콤마(,)로 구분한다.
  • 예제

    set-servers-option 명령어를 사용하여 deploy할 서버 목록을 지정한 후 deploy 명령어를 통해 지정한 서버 애플리케이션을 배포하는 예제이다.

    [DAS]domain1.adminServer>set-servers-option
    The default server list is not set.
    [DAS]domain1.adminServer>set-servers-option adminServer,server1
    The default server list has been set: adminServer,server1.
    [DAS]domain1.adminServer>set-servers-option
    The current default server list: adminServer,server1.
    [DAS]domain1.adminServer>deploy sample
    deploy the application for the application [sample] succeeded.
    [DAS]domain1.adminServer>appinfo
    Application information for the domain [domain1].
    ================================================================================
    +----------+-----------+---------+-------------+----------+--------------------+
    | Applicati|Application|  State  |    Target   |  Target  |  Application Path  |
    |  on ID   |   Type    |         |   Servers   | Clusters |                    |
    +----------+-----------+---------+-------------+----------+--------------------+
    | sample   | WAR       | RUNNING | server1,admi|          | ${INSTALL_HOME}/sam|
    |          |           |         |nServer      |          |ple/sample.war      |
    +----------+-----------+---------+-------------+----------+--------------------+
    ================================================================================ 
  • 참고

    본 명령어는 서버에 접속하지 않은 상태에서도 사용할 수 있다.

4.2.2.9. start-record

입력한 명령어들을 스크립트 파일에 기록하는 레코딩 기능을 시작한다.

지정한 레코딩 파일의 확장자에 따라 해당 스크립트로 명령어들이 저장된다. 레코딩이 시작되면 프롬프트에 "-Rec*"이 추가된다.

  • alias

    startrecord

  • 사용법

    start-record [<recfile>]
  • 파라미터

    파라미터설명
    [<recfile>]명령어 기록할 파일을 지정한다. 스크립트 파일로 저장이 되므로 현재 지원하는 스크립트의 확장자인 .py, .rb만 확장자로 사용이 가능하다.
  • 예제

    • 옵션을 주지 않고 실행한 경우는 record_script_[timestamp].py 파일에 저장한다.

      offline>start-record
      Starting recording to file : record_script_20150101123456.py
      offline-Rec*>
      
    • [<recfile>]을 지정한 경우 해당 파일에 저장한다.

      offline>start-record record.py
      Starting recording to file : record.py
      offline-Rec*>
      
  • 참고

    본 명령어는 서버에 접속하지 않은 상태에서도 사용할 수 있다.

4.2.2.10. stop-record

레코딩 기능을 중지한다.

  • alias

    stoprecord

  • 사용법

    stop-record
  • 예제

    offline-Rec*>stop-record
    Stopping recording to file : recrod.py
    offline>
    
  • 참고

    본 명령어는 서버에 접속하지 않은 상태에서도 사용할 수 있다.

4.2.2.11. unset-server-option

set-server-option 명령어로 설정한 기본값을 삭제한다.

  • alias

    unset-server-option

  • 사용법

    unset-server-option
  • 예제

    unset-server-option을 사용하여 set-server-option으로 설정한 기본값을 해제하였다. 해제한 후 jndi-info 명령어를 실행하면 server 옵션이 필요하다는 오류가 발생하는 것을 확인할 수 있다.

    [DAS]domain1.adminServer>set-server-option
    The current default server name: adminServer.
    [DAS]domain1.adminServer>unset-server-option
    The default server name has been unset.
    [DAS]domain1.adminServer>set-server-option
    The default server name is not set.
    [DAS]domain1.adminServer>jndi-info
    The following options are missing: server
  • 참고

    본 명령어는 서버에 접속하지 않은 상태에서도 사용할 수 있다.

4.2.2.12. unset-servers-option

set-servers-option 명령어로 지정한 -servers 옵션에 대한 기본값 설정을 삭제한다.

  • alias

    unsetservers

  • 사용법

    unset-servers-option
  • 예제

    [DAS]domain1.adminServer>set-servers-option
    The current default server list: adminServer,server1.
    [DAS]domain1.adminServer>unset-servers-option
    The default server list has been unset.
    [DAS]domain1.adminServer>set-servers-option
    The default server list is not set.
    [DAS]domain1.adminServer>
    
  • 참고

    본 명령어는 서버에 접속하지 않은 상태에서도 사용할 수 있다.

4.2.2.13. verbose

명령어 수행 과정을 상세히 출력할지 여부를 설정한다. 옵션을 주지 않은 경우 현재 상세 출력이 켜져 있는지 꺼져 있는지 알려준다. 상세 출력이 켜져 있는 경우 명령어 수행 중 예외가 발생하면 Stack Trace를 출력하게 된다.

  • 사용법

    verbose [-off | -on]
  • 파라미터

    파라미터설명
    [-on]상세 출력을 켠다.
    [-off]상세 출력을 끈다.
  • 예제

    • 현재 상세 출력이 켜져 있는지 여부를 확인하는 예제

      offline>verbose
      Verbose output disabled.
      offline>
    • 실제 사용 예제

      offline>verbose
      Verbose output disabled.
      offline>help notexistcommand
      Command notexistcommand not found
      offline>verbose -on
      Verbose output is enabled.
      offline>help notexistcommand
      Command notexistcommand not found
      jeus.tool.console.executor.CommandException: Command notexistcommand not found
      
        ......
      
      offline>verbose -off
      Verbose output disabled.
      offline>help notexistcommand
      Command notexistcommand not found
      offline>
  • 참고

    본 명령어는 서버에 접속하지 않은 상태에서도 사용할 수 있다.

4.2.3. Server Management 관련 명령어

다음은 Server Management 관련 명령어의 목록이다.

명령어설명
add-custom-resource-to-servers동적으로 서버에 custom resource를 추가한다.
add-data-sources-to-server동적으로 서버에 데이터소스들을 등록한다.
add-external-resource-to-servers동적으로 서버에 external resource를 추가한다.
add-jvm-option특정 서버에 JVM 설정을 추가한다.
add-listener특정 서버에 리스너를 추가한다.
add-log-handler동적으로 특정 서버의 특정 로거에 핸들러를 추가한다.
add-logger동적으로 특정 서버에 로거를 추가한다.
config-listener-ssl특정 리스너에 대한 SSL 옵션을 설정한다.
disable-engine-init-on-boot서버의 내부 엔진(Servlet, EJB, JMS)의 초기화 시점을 애플리케이션 deploy할 때로 설정한다.
disable-engines서버의 내부 엔진(Servlet, EJB, JMS)을 선택적으로 사용하지 않도록 설정한다.
dump특정 서버 또는 특정 클러스터에 속한 서버들의 Thread Dump를 찍는다.
enable-engine-init-on-boot서버의 내부 엔진(Servlet, EJB, JMS)의 초기화 시점을 서버 부팅시로 설정한다.
enable-engines서버의 내부 엔진(Servlet, EJB, JMS)을 선택적으로 사용하도록 설정한다.
jndi-info특정 서버의 JNDI 컨텍스트에 바인드되어 있는 객체의 바인딩(이름) 목록을 확인한다.
list-jvm-options특정 서버의 JVM 설정을 조회한다.
list-corelated-servers주어진 Group에 속하는 관련 서버들을 조회한다. Standalone 모드에서만 동작한다.
list-log-handlers특정 서버의 특정 로거에 등록된 핸들러들의 정보를 조회한다.
list-loggers특정 서버에 등록된 로거들의 정보를 조회한다.
list-server-listeners특정 서버에 있는 리스너들의 설정을 조회한다.
local-shutdown현재 접속해 있는 서버를 종료한다.
local-start-serverOn-line 모드에서는 현재 접속해 있는 서버가 STANDBY 상태일 경우 서버를 시작한다.
log-level특정 서버의 특정 로거와 해당 로거에 등록된 핸들러들의 레벨을 확인한다.
mbean-info특정 서버에 등록된 MBean들의 리스트를 조회한다.
memory-info특정 서버 또는 특정 클러스터에 속한 서버들의 메모리 정보를 확인한다.
modify-jvm-option특정 서버의 JVM 설정을 수정한다.
modify-listener특정 서버에 있는 리스너의 설정을 수정한다.
modify-log-handler특정 서버의 특정 로거에 등록된 특정 핸들러를 수정한다.
modify-logger동적으로 특정 서버에 등록된 특정 로거를 수정한다.
remove-custom-resource-from-servers서버에 등록된 custom resource를 동적으로 삭제한다.
remove-data-sources-from-server서버에 등록된 데이터소스들을 동적으로 제거한다.
remove-external-resource-from-servers서버에 등록된 external resource를 동적으로 삭제한다.
remove-jvm-option특정 서버의 JVM 설정을 제거한다.
remove-listener특정 서버에 있는 리스너를 삭제한다.
remove-log-handler동적으로 특정 서버의 특정 로거에 등록된 특정 핸들러를 삭제한다.
remove-logger동적으로 특정 서버에 등록된 특정 로거를 삭제한다.
resume-server일시 정지된 특정 서버를 다시 서비스되도록 한다.
rollback-config백업되어 있는 특정 설정 파일로 rollback한다.
run-garbage-collection특정 서버 또는 특정 클러스터에 속한 서버들에 full gc를 수행한다.
server-info서버들의 현재 상태를 확인한다.
server-log특정 서버의 로그를 command에서 확인한다.
show-config현재 설정 파일과 백업된 설정 파일 목록을 조회한다.
start-cluster특정 클러스터에 속한 MS들을 시작한다. DAS-MS 구조에서만 수행 가능한 명령어이다.
start-domain현재 도메인에 속한 모든 MS들을 시작한다. DAS-MS 구조에서만 수행 가능한 명령어이다.
start-server특정 MS를 시작한다.
stop-cluster특정 클러스터에 속한 MS들을 종료한다. 클러스터 내에 DAS가 포함된 경우 DAS는 대상에서 제외한다. DAS-MS 구조에서만 수행 가능한 명령어이다.
stop-domain현재 도메인에 속한 MS들을 종료한다. DAS-MS 구조에서만 수행 가능한 명령어이다.
stop-server특정 MS를 종료한다.
suspend-server서비스 중인 특정 서버를 일시 정지시킨다.
system-info특정 서버의 시스템 정보를 확인한다.

4.2.3.1. add-custom-resource-to-servers

동적으로 서버에 custom resource를 추가한다.

  • alias

    add-cr-to-servers

  • 사용법

    add-custom-resource-to-servers <export-name>
                        -servers <server-list>
                        [-f,--forceLock]
                        [-detail]
  • 파라미터

    파라미터설명
    <export-name>서버에 추가할 custom resource의 JNDI 바인드 이름이다.
    -servers <server-list>custom resource를 주어진 server list에 등록한다.
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-detail]동적 변경 결과에 대한 상세한 정보가 출력된다.
  • 예제

    [DAS]domain1.adminServer>add-custom-resource-to-servers custom/dog -servers server1
    Successfully performed the ADD operation for A custom resource.
    Check the results using "list-custom-resources"

4.2.3.2. add-data-sources-to-server

동적으로 서버에 데이터소스들을 등록한다.

  • alias

    adddstosvr

  • 사용법

    add-data-sources-to-server -server <server-name>
                              [-ids <data-source-id-list> | -all]
                              [-f,--forceLock]
                              [-detail]
  • 파라미터

    파라미터설명
    -server <server-name>데이터소스를 등록할 서버의 이름이다.
    [-ids <data-source-id-list>]

    서버에 등록할 데이터소스들의 ID 목록이다.

    한 개 이상인 경우 콤마(,)로 구분한다.

    [-all]도메인에 정의된 모든 데이터소스를 서버에 등록한다.
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-detail]동적 변경 결과에 대한 상세한 정보가 출력된다.
  • 예제

    [DAS]domain1.adminServer>add-data-sources-to-server -server server1 -all
    Successfully performed the ADD operation for data sources to the server [server1].
    Check the results using "add-data-sources-to-server -server server1"

4.2.3.3. add-external-resource-to-servers

동적으로 서버에 external resource를 추가한다.

  • alias

    add-er-to-servers

  • 사용법

    add-external-resource-to-servers <export-name>
                        -servers <server-list>
                        [-f,--forceLock]
                        [-detail]
  • 파라미터

    파라미터설명
    <export-name>서버에 추가할 external resource의 이름이다.
    -servers <server-list>external resource를 주어진 server list에 등록한다.
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-detail]동적 변경 결과에 대한 상세한 정보가 출력된다.
  • 예제

    [DAS]domain1.adminServer>add-external-resource-to-servers test/ext -servers server1
    Successfully performed the ADD operation for A external resource.
    Check the results using "list-external-resources"

4.2.3.4. add-jvm-option

특정 서버에 JVM 설정을 추가한다.

  • alias

    add-jvmopt, addjvmopt, add-jvm-config, add-jvmcfg, addjvmcfg

  • 사용법

    add-jvm-option -server <server-name>
                   [-opt,--jvmOption <jvm-option>]
                   [-f,--forceLock]
                   [-detail]
  • 파라미터

    파라미터설명
    -server <server-name> 서버의 이름이다.
    [-opt,--jvmOption <jvm-option>]추가할 JVM 설정이다.
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-detail]설정 변경 결과에 대한 상세한 정보가 출력된다.
  • 예제

    [DAS]domain1.adminServer>add-jvm-option -server server1 -opt "-Xmx256m -XX:MaxPermSize=128m"
    Successfully performed the ADD operation for JVM configuration for the server
    (sever1)., but all changes were non-dynamic. They will be applied after restarting.
    Check the results using "list-jvm-options or add-jvm-option"

4.2.3.5. add-listener

동적으로 특정 서버에 리스너를 추가한다.

  • alias

    addlistener, createlistener

  • 사용법

    add-listener -server <server-name>
                 -name <listener-name>
                 [-addr <address>]
                 -port <port>
                 [-selectors <selectors>]
                 [-dual]
                 [-backlog <backlog>]
                 [-timeout <read-timeout>]
                 [-keepaliveTimeout <keepalive-timeout>]
                 [-rt,--reservedthreads <reserved-threads>]
                 [-f,--forceLock]
  • 파라미터

    파라미터설명
    -server <server-name> 서버의 이름이다.
    -name <listener-name>추가할 리스너의 이름이다.
    [-addr <address>]추가할 리스너의 주소이다.
    -port <port>추가할 리스너의 포트 번호이다. 1 ~ 65535 사이의 값을 설정해야 하며, 다른 리스너의 포트 번호와 겹치지 않아야 한다.
    [-selectors <selectors>]사용할 Selector의 개수이다.
    [-dual]read/write 작업에 각각 별개의 Selector를 사용한다.
    [-backlog <backlog>]추가할 리스너의 backlog이다.
    [-timeout <read-timeout>][동적 변경] 추가할 리스너의 read 타임아웃이다.
    [-keepaliveTimeout <keepalive-timeout>]사용하지 않는 소켓을 닫을 때까지의 시간을 설정한다.
    [-rt,--reservedthreads <reserved-threads>]추가할 리스너가 사용할 Reserved Thread의 개수이다.
    [-f,--forceLock]추가를 위한 lock을 강제로 취한다.
  • 예제

    [DAS]domain1.adminServer>add-listener -server server1 -name Test -port 10000
    Executed Successfully
    Check the result using 'list-server-listeners -server server1 -name Test.
    [DAS]domain1.adminServer>list-server-listeners -server server1 -name Test
    ===============================================================
    Test
    
    +---------------------------------------------------+---------+
    |                   Attribute name                  |  Value  |
    +---------------------------------------------------+---------+
    | address                                           | not-set |
    | port                                              |   10000 |
    | selectors                                         |       1 |
    | dual-selector                                     | false   |
    | backlog                                           |     128 |
    | read-timeout                                      |   30000 |
    | keepalive-timeout                                 | not-set |
    | reserved-threads                                  |       0 |
    +---------------------------------------------------+---------+
    ===============================================================

4.2.3.6. add-log-handler

동적으로 특정 서버의 특정 로거에 핸들러를 추가한다.

  • alias

    addloghandler, add-handler, addhandler

  • 사용법

    add-log-handler -server <server-name>
                    -logger <logger-name>
                    [<handler-name>]
                    [-level <handler-level>]
                    [-filter <filter-class>]
                    [-encoding <encoding>]
                    [-filename <file-name>]
                    [-enable <enable-rotation>]
                    [-count <rotation-count>]
                    [-dir <rotation-dir>]
                    [-buffer <buffer-size>]
                    [-append <append>]
                    [-hour <hour> | -day <day> | -size <size>]
                    [-f,--forceLock]
                    [-detail]
                    [-permission <permission>]
  • 파라미터

    파라미터설명
    -server <server-name>서버의 이름이다.
    -logger <logger-name>핸들러를 추가할 로거의 이름이다.
    [<handler-name>]추가할 핸들러의 이름이다.
    [-level <handler-level>][동적 변경] 핸들러의 로그 레벨이다. (기본값: FINEST)
    [-filter <filter-class>]로그 메시지의 필터 클래스 이름이다.
    [-encoding <encoding>]로그 메시지의 인코딩 값이다.
    [-filename <file-name>]

    로그를 기록할 파일 이름이다.

    (기본값: loggerName.log. jeus logger의 경우는 JeusServer.log)

    [-enable <enable-rotation>]파일 로테이션을 가능하게 할지 여부이다. (기본값: true)
    [-count <rotation-count>]백업하는 로그 파일의 최대 개수이다.
    [-dir <rotation-dir>]백업하는 로그 파일이 위치하는 디렉터리 경로이다.
    [-buffer <buffer-size>]로그 메시지를 파일에 기록할 때의 버퍼 사이즈이다.
    [-append <append>]

    재부팅할 때 이전 파일에 계속 로그를 남길지 여부이다.

    (true | false, 기본값: true)

    [-hour <hour>]입력된 시간마다 새로운 로그 파일을 작성한다.
    [-day <day>]입력된 날마다 새로운 로그 파일을 작성한다.
    [-size <size>]입력된 사이즈에 따라 새로운 로그 파일을 작성한다.
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-detail]동적 변경 결과에 대한 상세한 정보가 출력된다.
    [-permission]입력된 퍼미션으로 로그파일을 설정한다. (설정값 예시: rwxrwxrwx)
  • 예제

    [DAS]domain1.adminServer>add-log-handler -server server1 -logger jeus.jndi fileHandler -day 10
    Successfully performed the ADD operation for The handler for the logger(jeus.jndi) 
    on the server(server1)., but all changes were non-dynamic. They will be applied 
    after restarting.
    Check the results using "list-log-handlers or add-log-handler"

4.2.3.7. add-logger

동적으로 특정 서버에 로거를 추가한다.

  • alias

    addlogger

  • 사용법

    add-logger -server <server-name>
               [<logger-name>]
               [-level <log-level>]
               [-useParentHandlers <use-parent-handlers>]
               [-filter <filter-class>]
               [-formatter <formatter-class>]
               [-f,--forceLock]
               [-detail]
  • 파라미터

    파라미터설명
    -server <server-name>서버의 이름이다.
    [<logger-name>]서버에 추가할 로거의 이름이다.
    [-level <log-level>][동적 변경] 로거의 로그 레벨이다.
    [-useParentHandlers <use-parent-handlers>][동적 변경] 상위 로거의 핸들러를 사용할지 여부이다. (true | false)
    [-filter <filter-class>]출력되는 로그 메시지의 필터 클래스 이름이다.
    [-formatter <formatter-class>]로거에 적용할 Formatter의 클래스 이름이다.
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-detail]동적 변경 결과에 대한 상세한 정보가 출력된다.
  • 예제

    [DAS]domain1.adminServer>add-logger -server server1 jeus.security -level FINE  
    Successfully performed the ADD operation for The logger for the server(server1).
    , but all changes were non-dynamic. They will be applied after restsarting.
    Check the results using "list-loggers or add-logger"

4.2.3.8. config-listener-ssl

특정 리스너에 대한 SSL 옵션을 설정한다.

  • alias

    configssl

  • 사용법

    config-listener-ssl -server <server-name>
              -name <listener-name>
              -set | -show | -del
              [-need | -noauth,--unnecessary | -want]
              [-p,--protocol <protocol>]
              [-cs,--cipherSuite <cipher-suites>]
              [-ks,--keystore <keystore-file>]
              [-kp,--keystorePass <keystore-pass>]
              [-kkp,--keystoreKeypass <keystore-keypass>]
              [-kt,--keystoreType <keystore-type>]
              [-kma,--keyManagementAlgorithm <key-management-algorithm>]
              [-alias,--keyAlias <key-alias>]
              [-ts,--truststore <truststore-file>]
              [-tp,--truststorePass <truststore-pass>]
              [-tt,--truststoreType <truststore-type>]
              [-tma,--trustManagementAlgorithm <trust-management-algorithm>]
              [-crl <crl-file>]
              [-f,--forceLock]
  • 파라미터

    파라미터설명
    -server <server-name>서버의 이름이다.
    -name <listener-name>SSL 옵션을 설정할 리스너의 이름이다.
    -set | -show | -del설정에 대한 작업을 설정한다. (추가, 수정, 조회, 삭제)
    [-need | -noauth,--unnecessary | -want]

    클라이언트 인증에 대한 설정이다.

    • - need : 항상 인증을 수행한다.

    • - noauth, -unnecessary : 수행하지 않는다.

    • - want : 클라이언트가 원할 경우에 수행한다.

    [-p,--protocol <protocol>]사용할 SSL 프로토콜의 이름이다.
    [-cs,--cipherSuite <cipher-suites>]사용할 Cipher Suite의 이름을 나열한다.
    [-ks,--keystore <keystore-file>]사용할 Keystore의 경로를 명시한다.
    [-kp,--keystorePass <keystore-pass>]

    사용할 Keystore의 패스워드를 명시한다. 이 값을 암호화해서 저장할 때에는 '{algorithm}ciphertext'와 같은 형식으로 입력한다.

    • {DES}FQrLbQ/D8O1lDVS71L28rw==
    [-kkp,--keystoreKeypass <keystore-keypass>]

    사용할 Keystore의 Key를 복구하기 위한 패스워드를 명시한다. 이 값을 암호화해서 저장할 때에는 '{algorithm}ciphertext'와 같은 형식으로 입력한다.

    • {DES}FQrLbQ/D8O1lDVS71L28rw==

    [-kt,--keystoreType <keystore-type>]사용할 Keystore의 타입을 명시한다.
    [-kma,--keyManagementAlgorithm <key-management-algorithm>]Key에 대한 관리 알고리즘을 명시한다.
    [-alias,--keyAlias <key-alias>]KeyStore에 여러 Alias가 존재할 경우 그 중에서 사용할 것을 명시한다.
    [-ts,--truststore <truststore-file>]사용할 Truststore의 경로를 명시한다.
    [-tp,--truststorePass <truststore-pass>]

    사용할 Truststore의 패스워드를 명시한다. 이 값을 암호화해서 저장할 때에는 '{algorithm}ciphertext'와 같은 형식으로 입력한다.

    • {DES}FQrLbQ/D8O1lDVS71L28rw==
    [-tt,--truststoreType <truststore-type>]사용할 Truststore의 타입을 명시한다.
    [-tma,--trustManagementAlgorithm <trust-management-algorithm>]Trust에 대한 관리 알고리즘을 명시한다.
    [-crl <crl-file>]Certificate Revocation Lists를 저장하고 있는 파일의 경로를 명시한다.
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
  • 예제

    [DAS]domain1.adminServer>add-logger -server server1 jeus.security -level FINE
              Successfully performed the ADD operation for The logger for the server(server1).
              , but all changes were non-dynamic. They will be applied after restsarting.
              Check the results using "list-loggers or add-logger"

4.2.3.9. disable-engine-init-on-boot

서버의 내부 엔진(Servlet, EJB, JMS)의 초기화 시점을 애플리케이션 deploy할 때로 설정한다. 서버를 다시 시작해야 적용된다.

  • 관련 스키마

    jeus-domain.xsd

  • alias

    lazyengine

  • 사용법

    disable-engine-init-on-boot <server-list> 
                                [-f,--forceLock]
  • 파라미터

    파라미터설명
    <server-list>서버의 이름이다. 서버가 한 개 이상인 경우는 콤마(,)로 구분한다.
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
  • 예제

    [DAS]domain1.adminServer>disable-engine-init-on-boot adminServer,server1
    EngineInitOnBoot was successfully enabled.
    The configuration was changed.
    ================================================================================
    +------------------------------------------------------------------------------+
    |                                    Result                                    |
    +------------------------------------------------------------------------------+
    | Successfully changed only the XML.                                           |
    | Restart the server to apply the changes.                                     |
    +------------------------------------------------------------------------------+
    ================================================================================

4.2.3.10. disable-engines

서버의 내부 엔진(Servlet, EJB, JMS)을 사용하지 않도록 설정한다. 서버를 다시 시작해야 적용된다.

  • 관련 스키마

    jeus-domain.xsd

  • alias

    engineoff

  • 사용법

    disable-engines <server-list> 
                     [-all]
                     [-web]
                     [-ejb]
                     [-jms]
                     [-f,--forceLock]
  • 파라미터

    파라미터설명
    <server-list>서버의 이름이다. 서버가 한 개 이상인 경우는 콤마(,)로 구분한다.
    [-all]Web, EJB, JMS 엔진에 대하여 모두 설정한다.
    [-web]Web 엔진에 대하여 설정한다.
    [-ejb]EJB 엔진에 대하여 설정한다.
    [-jms]JMS 엔진에 대하여 설정한다.
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
  • 예제

    [DAS]domain1.adminServer>disable-engines adminServer -all
    All engine(s) was(were) successfully disabled.
    The configuration was changed.
    ================================================================================
    +------------------------------------------------------------------------------+
    |                                    Result                                    |
    +------------------------------------------------------------------------------+
    | Successfully changed only the XML.                                           |
    | Restart the server to apply the changes.                                     |
    +------------------------------------------------------------------------------+
    ================================================================================
    ...
    [DAS]domain1.adminServer>disable-engines adminServer -web -ejb
    Web EJB engine(s) was(were) successfully disabled.
    The configuration was changed.
    ================================================================================
    +------------------------------------------------------------------------------+
    |                                    Result                                    |
    +------------------------------------------------------------------------------+
    | Successfully changed only the XML.                                           |
    | Restart the server to apply the changes.                                     |
    +------------------------------------------------------------------------------+
    ================================================================================
    ...

4.2.3.11. dump

특정 서버 또는 특정 클러스터에 속한 서버들의 Thread Dump를 찍는다. 해당 서버의 서버 로그에 기록된다.

  • 사용법

    dump [-clusters <cluster-list> | -servers <server-list>]
  • 파라미터

    파라미터설명
    [-clusters <cluster-list>]클러스터의 이름이다. 클러스터가 한 개 이상인 경우는 콤마(,)로 구분한다.
    [-servers <server-list>]서버의 이름이다. 서버가 한 개 이상인 경우는 콤마(,)로 구분한다.
  • 예제

    [DAS]domain1.adminServer>dump -servers server1
    Dumping to the servers.
    The result of executing a dump of server processes.
    ===============================================================
    +--------+----------------------------------------------------+
    | Server |                       Result                       |
    +--------+----------------------------------------------------+
    | server1| Successfully dumped.                               |
    +--------+----------------------------------------------------+
    ===============================================================

4.2.3.12. enable-engine-init-on-boot

서버의 내부 엔진(Servlet, EJB, JMS)의 초기화 시점을 서버가 시작하는 시점으로 설정한다. 서버를 다시 시작해야 적용된다.

  • 관련 스키마

    jeus-domain.xsd

  • alias

    eagerengine

  • 사용법

    enable-engine-init-on-boot <server-list> 
                                 [-f,--forceLock]
  • 파라미터

    파라미터설명
    <server-list>서버의 이름이다. 서버가 한 개 이상인 경우는 콤마(,)로 구분한다.
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
  • 예제

    [DAS]domain1.adminServer>enable-engine-init-on-boot adminServer
    EngineInitOnBoot was successfully enabled.
    The configuration was changed.
    ================================================================================
    +------------------------------------------------------------------------------+
    |                                    Result                                    |
    +------------------------------------------------------------------------------+
    | Successfully applied part of the changes.                                    |
    | Restart the server to apply the remaining changes.                           |
    +------------------------------------------------------------------------------+
    ================================================================================

4.2.3.13. enable-engines

서버의 내부 엔진(Servlet, EJB, JMS)을 사용하지 않도록 설정한다. 서버를 다시 시작해야 적용된다.

  • 관련 스키마

    jeus-domain.xsd

  • alias

    engineon

  • 사용법

    enable-engines <server-list> 
                    [-all]
                    [-web]
                    [-ejb]
                    [-jms]
                    [-f,--forceLock]
  • 파라미터

    파라미터설명
    <server-list>서버의 이름이다. 서버가 한 개 이상인 경우는 콤마(,)로 구분한다.
    [-all]Web, EJB, JMS 엔진에 대하여 모두 설정한다.
    [-web]Web 엔진에 대하여 설정한다.
    [-ejb]EJB 엔진에 대하여 설정한다.
    [-jms]JMS 엔진에 대하여 설정한다.
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
  • 예제

    [DAS]domain1.adminServer>diable-engines adminServer -all
    All engine(s) was(were) successfully enabled.
    The configuration was changed.
    ================================================================================
    +------------------------------------------------------------------------------+
    |                                    Result                                    |
    +------------------------------------------------------------------------------+
    | Successfully applied part of the changes.                                    |
    | Restart the server to apply the remaining changes.                           |
    +------------------------------------------------------------------------------+
    ================================================================================
    ...
    [DAS]domain1.adminServer>diable-engines adminServer -web -ejb
    Web EJB engine(s) was(were) successfully enabled.
    The configuration was changed.
    ================================================================================
    +------------------------------------------------------------------------------+
    |                                    Result                                    |
    +------------------------------------------------------------------------------+
    | Successfully applied part of the changes.                                    |
    | Restart the server to apply the remaining changes.                           |
    +------------------------------------------------------------------------------+
    ================================================================================
    ...

4.2.3.14. jndi-info

특정 서버의 JNDI 컨텍스트에 바인드되어 있는 객체의 바인딩(이름) 목록을 확인한다.

  • alias

    jndiinfo, jndilist

  • 사용법

    jndi-info -server <server-name> 
              [<context-name>]
  • 파라미터

    파라미터설명
    -server <server-name>서버의 이름이다.
    [<context-name>]

    JNDI 컨텍스트의 이름이다.

    <context-name>이 컨텍스트이면 해당 컨텍스트에 바인딩되어 있는 모든 객체를 출력하고, 컨텍스트가 아니라 leaf node라면 해당 객체의 상세 정보를 출력한다.

  • 예제

    • context

      [DAS]domain1.adminServer>jndi-info -server server1  
      The JNDI list on the server1
      List of the context /
      ================================================================================
      +------------+-------------------------------------------------+---------------+
      |    Name    |                      Value                      | Local Binding |
      +------------+-------------------------------------------------+---------------+
      | JEUSMQ_DLQ | jeus.jms.common.destination.JeusQueue           | false         |
      | mgmt       | jeus.jndi.JNSContext                            | false         |
      +------------+-------------------------------------------------+---------------+
      ================================================================================
      [DAS]domain1.adminServer>jndi-info -server server1 mgmt
      The JNDI list on the server1
      List of the context /mgmt
      ===============================================================
      +------+--------------------------------------+---------------+
      | Name |                 Value                | Local Binding |
      +------+--------------------------------------+---------------+
      | rmbs | jeus.jndi.JNSContext                 | false         |
      +------+--------------------------------------+---------------+
      ===============================================================
    • leaf node

      [DAS]domain1.adminServer>jndi-info -server server1 mgmt/rmbs/adminServer
      The JNDI list on the server1
      List of the context /mgmt/rmbs/server1
      ================================================================================
      +-------------------+------------------------------------------+---------------+
      |        Name       |                   Value                  | Local Binding |
      +-------------------+------------------------------------------+---------------+
      | mgmt/rmbs/server1 | javax.management.remote.JMXConnector     | false         |
      +-------------------+------------------------------------------+---------------+
      
      Reference class name : javax.management.remote.JMXConnector
      Reference Factory class name : jeus.management.remote.jeusmp.JeusmpConnectorFactory
      [0] StringRefAddr : jmxmp, RefAddr type : protocol
      [1] StringRefAddr : Administrator, RefAddr type : host
      [2] StringRefAddr : 19736, RefAddr type : port
      [3] StringRefAddr : /JEUSMP_server1, RefAddr type : urlPath
      [4] StringRefAddr : 60000, RefAddr type : checktmout
      [5] StringRefAddr : 61.77.153.160, RefAddr type : ipaddr
      end of RefAddr
      
      ================================================================================

4.2.3.15. list-jvm-options

특정 서버의 JVM 설정을 조회한다.

  • alias

    list-jvmopt, listjvmopt, list-jvm-config, list-jvmcfg, listjvmcfg

  • 사용법

    list-jvm-options <server-name>
  • 파라미터

    파라미터설명
    -server <server-name>서버의 이름이다.
  • 예제

    [DAS]domain1.adminServer>list-jvm-config adminServer
    List of JVM Configurations
    ================================================================================
    +------------------------------------------------------------------------------+
    |                                  JVM Configs                                 |
    +------------------------------------------------------------------------------+
    | -Xmx256m -XX:MaxPermSize=128m                                                |
    +------------------------------------------------------------------------------+
    ================================================================================

4.2.3.16. list-corelated-servers

주어진 Group에 속하는 관련 서버들을 조회한다. Standalone 모드에서만 동작한다.

  • 사용법

    list-corelated-servers [-group <group-name>]
  • 파라미터

    파라미터설명
    [<group-name>]조회할 Group의 이름이다. 명시하지 않을 경우 전체에 대해서 조회하게 된다.
  • 예제

    [DAS]domain1.adminServer>list-corelated-servers
              ================================================================================
              Corelated servers list
    
              +----------+----------------+--------------------------+---------------+-------+
              |  Server  |     Address    |       Startup time       |   Belonging   | State |
              |   name   |                |                          |    groups     |       |
              +----------+----------------+--------------------------+---------------+-------+
              | adminSer | 192.168.13.19: | Mon May 20 17:36:12 KST  | [domain1]     | ALIVE |
              |ver       |9736            |2019                      |               |       |
              | server1  | 192.168.13.19: | Mon May 20 17:37:26 KST  | [domain1]     | ALIVE |
              |          |19736           |2019                      |               |       |
              +----------+----------------+--------------------------+---------------+-------+
              ================================================================================

4.2.3.17. list-log-handlers

특정 서버의 특정 로거에 등록된 핸들러들의 정보를 조회한다.

  • alias

    listloghandlers, listhandlers, list-handlers

  • 사용법

    list-log-hanlders -server <server-name> 
                       <logger-name>
  • 파라미터

    파라미터설명
    -server <server-name>서버의 이름이다.
    <logger-name>로거의 이름이다.
  • 예제

    [DAS]domain1.adminServer>list-log-handlers -server adminServer jeus.deploy 
    List of Loggers
    ================================================================================
    +-------------------+----------------------------------------------------------+
    |        Name       |                           Value                          |
    +-------------------+----------------------------------------------------------+
    | Handler Name      | fileHandler                                              |
    | Handler Type      | FileHandlerType                                          |
    | Handler Level     | FINEST                                                   |
    | Filename          | jeus.deploy.log                                          |
    | Enable Rotation   | true                                                     |
    | Rotation Directory| ${SERVER_HOME}/logs                                      |
    | Valid Day         | 1                                                        |
    | Buffer Size       | 1024                                                     |
    | Logging to Append | true                                                     |
    +-------------------+----------------------------------------------------------+
    ================================================================================

4.2.3.18. list-loggers

특정 서버에 등록된 로거들의 정보를 조회한다.

  • alias

    listloggers

  • 사용법

    list-loggers <server-name>
                [-logger<logger-name>]
  • 파라미터

    파라미터설명
    <server-name>서버의 이름이다.
    [-logger<logger-name>]로거의 이름이다.
  • 예제

    [DAS]domain1.adminServer>list-loggers server1 
    List of Loggers
    ===========================================================================
    +------------------+------+----------------------------+-------+----------+
    |    Logger Name   | Level|     Use Parent Handlers    | Filter| Formatter|
    +------------------+------+----------------------------+-------+----------+
    | jeus             | INFO | false                      |       |          |
    | jeus.security    | FINE | true                       |       |          |
    +------------------+------+----------------------------+-------+----------+
    ===========================================================================

4.2.3.19. list-server-listeners

동적으로 특정 서버에 있는 리스너들의 설정을 조회한다.

  • alias

    listener, serverlistener

  • 사용법

    list-server-listeners -server <server-name>
                          [-name <listener-name>]                  
  • 파라미터

    파라미터설명
    -server <server-name>서버의 이름이다.
    [-name <listener-name>]조회할 리스너의 이름이다.
  • 예제

    [DAS]domain1.adminServer>list-server-listeners -server adminServer
    =========================================================
    +--------------------------------------+---------+------+
    |             listener-name            | address | port |
    +--------------------------------------+---------+------+
    | base                                 | 0.0.0.0 | 9736 |
    | jms                                  | 0.0.0.0 | 9741 |
    | http-lisetner                        | not-set | 8088 |
    +--------------------------------------+---------+------+
    =========================================================
    [DAS]domain1.adminServer>list-server-listeners -server adminServer -name base
    ===============================================================
    base
    
    +---------------------------------------------------+---------+
    | address                                           | 0.0.0.0 |
    | port                                              |    9736 |
    | selectors                                         |         |
    | dual-selector                                     | false   |
    | backlog                                           |     128 |
    | read-timeout                                      |   30000 |
    | reserved-threads                                  |       0 |
    +---------------------------------------------------+---------+
    ===============================================================

4.2.3.20. local-shutdown

현재 접속해 있는 서버를 종료한다.

  • alias

    localdown, localjeusexit

  • 사용법

    local-shutdown [-to,--shutdowntimeout <timeout> | -f,--force | -g,--graceful]
  • 파라미터

    파라미터설명
    [-to, --shutdowntimeout <timeout>]

    Graceful하게 종료할 때 사용할 타임아웃을 설정한다.

    처리 중인 요청을 입력한 시간만큼 완료되길 기다린다. (단위: second)

    [-f, --force]Graceful shutdown을 시도하지 않고 바로 서버를 종료한다. (기본값)
    [-g, --graceful]Graceful하게 종료할지 여부를 설정한다. 처리 중인 요청이 끝나길 무한히 기다린다.
  • 예제

    local-shutdown 명령어를 사용해 현재 접속한 서버를 종료한다..

    [DAS]domain1.adminServer>local-shutdown
    The server [adminServer] has been shut down successfully.
    offline>
  • 참고

    본 명령어는 서버에 접속하지 않은 상태에서도 사용할 수 있다.

4.2.3.21. local-start-server

On-line 모드에서는 현재 접속해 있는 서버가 STANDBY 상태일 경우 서버를 시작한다. Off-line 모드에서는 SSH를 통하여 특정 MS를 시작한다. 이때 -node, -domain, -server, -u, -p, -dasurl은 필수 항목이다.

  • alias

    localstartserver, local-boot

  • 사용법

    아래의 사용법은 On-line 모드일 때 기준이다.

    local-start-server [-node <node-name>]
                       [-domain <domain-name>]
                       [-server <server-name>]
                       [-u <user-name>]
                       [-p <password>]
                       [-dasurl <dasurl>]
                       [-f, --force]
                       [-s, --standby]
  • 파라미터

    파라미터설명
    [-node <node-name>]노드의 이름이다.
    [-domain <domain-name>]도메인의 이름이다.
    [-server <server-name>]서버의 이름이다.
    [-u <user-name>]사용자의 이름이다.
    [-p <password>]사용자의 암호이다.
    [-dasurl <dasurl>]도메인 운영 서버의 주소이다.
    [-f, --force]등록된 애플리케이션이 RUNNING 상태가 아니더라도 강제로 시작한다.
    [-s, --standby]서버를 준비 상태인 STANDBY 상태로 기동한다.
  • 예제

    offline>local-start-server -node node1 -domain domain1 -server server1 -u administrator -p password -dasurl 192.168.34.55:9736 
    The Server [server1] was successfully started.
  • 참고

    본 명령어는 서버에 접속하지 않은 상태에서도 사용할 수 있다.

4.2.3.22. log-level

특정 서버의 특정 로거와 해당 로거에 등록된 핸들러들의 레벨을 확인한다.

  • alias

    loglevel

  • 사용법

    log-level -server <server-name>
              <logger-name>
  • 파라미터

    파라미터설명
    -server <server-name>서버의 이름이다.
    <logger-name>확인할 로거의 이름이다.
  • 예제

    [DAS]domain1.adminServer>log-level -server server1 jeus 
    The logger[jeus] information for the server [server1]
    Information about the logger[jeus].
    ==========================================================
    Logger Name : jeus
    Level : INFO
    Use Parent Handlers : false
    
    +-------------+-------------+----------------------------+
    | Handler Name| Handler Type|        Handler Level       |
    +-------------+-------------+----------------------------+
    | FileHandler | FileHandler | FINEST                     |
    +-------------+-------------+----------------------------+
    ==========================================================

4.2.3.23. mbean-info

특정 서버에 등록된 MBean들의 리스트를 조회한다.

  • alias

    mbeaninfo

  • 사용법

    mbean-info -server <server-name>
               [<object-name>]
  • 파라미터

    파라미터설명
    -server <server-name>서버의 이름이다.
    [<object-name>]

    Object 이름에 대한 특정 쿼리이다.

    특정 Object 이름을 갖는 MBean의 목록을 조회하는 경우 사용한다.

    쿼리하는 Object 이름에 대해서는 "JEUS JMX 안내서"를 참고한다.

  • 예제

    [DAS]domain1.adminServer>mbean-info -server server1 
    The object names of MBeans on the server [server1].
    ================================================================================
    +------------------------------------------------------------------------------+
    | JEUS:j2eeType=JeusService,jeusType=ServerNodeManagerService,JMXManager=server|
    |1,J2EEServer=server1,name=server1                                             |
    | JEUS:j2eeType=J2EEServer,JMXManager=server1,isTargetable=true,J2EEDomain=doma|
    |in1,name=server1                                                              |
    | JEUS:j2eeType=JMSResource,JMXManager=server1,J2EEServer=server1,name=server1_|
    |jms                                                                           |
    | JEUS:j2eeType=JeusService,jeusType=SecurityDomain,JMXManager=server1,J2EEDoma|
    |in=domain1,SecurityService=SecurityService,name=SYSTEM_DOMAIN                 |
    | JEUS:j2eeType=JeusService,jeusType=JEUSMPConnector,JMXManager=server1,J2EESer|
    |ver=server1,name=server1                                                      |
    | JEUS:j2eeType=JeusService,jeusType=ThreadPool,JMXManager=server1,J2EEServer=s|
    |erver1,name=threadpool.System                                                 |
    | JEUS:j2eeType=JeusService,jeusType=WebListener,JMXManager=server1,WebEngine=s|
    |erver1_servlet,J2EEServer=server1,name=ADMIN-HTTP                             |
    | JEUS:j2eeType=JeusService,jeusType=ThreadPool,JMXManager=server1,J2EEServer=s|
    |erver1,name=EJBTimerService                                                   |
    | JEUS:j2eeType=JDBCResource,JMXManager=server1,J2EEServer=server1,name=server1|
    | JEUS:j2eeType=JeusService,jeusType=ThreadPool_WEBC,JMXManager=server1,WebEngi|
    |ne=server1_servlet,J2EEServer=server1,WebListener=ADMIN-HTTP,name=ADMIN-HTTP  |
    | JEUS:j2eeType=JeusService,jeusType=EJBEngine,JMXManager=server1,J2EEServer=se|
    |rver1,name=server1_ejb                                                        |
    | JEUS:j2eeType=JeusService,jeusType=JNDIResourceService,JMXManager=server1,J2E|
    |EServer=server1,name=server1                                                  |
    | JEUS:j2eeType=JeusService,jeusType=SecurityService,JMXManager=server1,J2EEDom|
    |ain=domain1,J2EEServer=server1,name=SecurityService                           |
    | JEUS:j2eeType=JeusService,jeusType=WebEngine,JMXManager=server1,J2EEServer=se|
    |rver1,name=server1_servlet                                                    |
    | JEUS:j2eeType=JeusService,jeusType=SecuritySubject,JMXManager=server1,J2EEDom|
    |ain=domain1,SecurityDomain=SYSTEM_DOMAIN,name=Subject                         |
    | JEUS:j2eeType=JeusService,jeusType=ThreadPool,JMXManager=server1,J2EEServer=s|
    |erver1,name=server1                                                           |
    | JEUS:j2eeType=JeusService,jeusType=JMSServiceChannel,JMXManager=server1,J2EES|
    |erver=server1,JMSResource=server1_jms,name=JMSServiceChannel-default          |
    | JEUS:j2eeType=Console,JMXManager=server1,J2EEServer=server1,name=server1     |
    | JEUS:j2eeType=JeusService,jeusType=JDBCResourceService,JMXManager=server1,J2E|
    |EServer=server1,name=server1                                                  |
    | JEUS:j2eeType=JVM,JMXManager=server1,J2EEServer=server1,name=server1         |
    | JEUS:j2eeType=JTAResource,JMXManager=server1,J2EEServer=server1,name=server1 |
    | JEUS:j2eeType=JeusService,jeusType=JMSEngine,JMXManager=server1,J2EEServer=se|
    |rver1,name=server1_jms                                                        |
    | JEUS:j2eeType=JeusService,jeusType=JMSDestinationResource,JMXManager=server1,|
    |J2EEServer=server1,JMSResource=server1_jms,name=JEUSMQ_DLQ                    |
    | JEUS:j2eeType=JeusService,jeusType=SecurityPolicy,JMXManager=server1,J2EEDoma|
    |in=domain1,SecurityDomain=SYSTEM_DOMAIN,name=Policy                           |
    +------------------------------------------------------------------------------+
    ================================================================================

4.2.3.24. memory-info

특정 서버 또는 특정 클러스터에 속한 서버들의 메모리 정보를 확인한다.

  • alias

    memorystatus, memstatus, memoryinfo, meminfo

  • 사용법

    memory-info [-clusters <cluster-list> | -servers <server-list>]
  • 파라미터

    파라미터설명
    [-clusters <cluster-list>]클러스터의 이름이다. 클러스터가 한 개 이상인 경우는 콤마(,)로 구분한다.
    [-servers <server-list>]서버의 이름이다. 서버가 한 개 이상인 경우는 콤마(,)로 구분한다.
  • 예제

    [DAS]domain1.adminServer>memory-info -servers server1
    Domain [domain1] Memory Information
    Memory Information
    =============================================================================
    +--------+------------------------+-----------------------------------------+
    | Server | Total Amount of Memory |       The Current Amount of Memory      |
    +--------+------------------------+-----------------------------------------+
    | server1|              110362624 |                                55153456 |
    +--------+------------------------+-----------------------------------------+
    ============================================================================

4.2.3.25. modify-jvm-option

특정 서버의 JVM 설정을 수정한다.

  • alias

    modify-jvmopt, modifyjvmopt, modify-jvm-config, modify-jvmcfg

  • 사용법

    modify-jvm-option -server <server-name>
                      [-old,--oldOption <jvm-option>]
                      [-new,--newOption <jvm-option>]
                      [-f,--forceLock]
                      [-detail]
  • 파라미터

    파라미터설명
    -server <server-name>서버의 이름이다.
    [-old,--oldOption <jvm-option>]수정하기 전 JVM 설정이다. 현재 JVM 설정과 같다.
    [-new,--newOption <jvm-option>]수정 후 바뀔 JVM 설정이다.
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-detail]설정 변경 결과에 대한 상세한 정보가 출력된다.
  • 예제

    [DAS]domain1.adminServer>modify-jvm-option -server server1 -old "-Xmx256m -XX:Ma xPermSize=128m" -new "-Xmx512m -XX:MaxPermSize=128m"
    Successfully performed the MODIFY operation for JVM configuration for the server
    (server1)., but all changes were non-dynamic. They will be applied after restarting.
    Check the results using "list-jvm-options or modify-jvm-option"

4.2.3.26. modify-listener

특정 서버에 있는 리스너의 설정을 수정한다.

  • alias

    modifylistener, editlistener

  • 사용법

    modify-listener -server <server-name>
                    -name <listener-name>
                    [-addr <address>]
                    [-port <port>]
                    [-selectors <selectors>]
                    [-dual]
                    [-backlog <backlog>]
                    [-timeout <read-timeout>]
                    [-keepaliveTimeout <keepalive-timeout>]
                    [-rt,--reservedthreads <reserved-threads>]
                    [-f,--forceLock]
  • 파라미터

    파라미터설명
    -server <server-name>서버의 이름이다.
    -name <listener-name>수정할 리스너의 이름이다.
    [-addr <address>]수정할 리스너의 바뀔 주소이다.
    [-port <port>]수정할 리스너의 바뀔 포트 번호이다. 1 ~ 65535 사이의 값을 설정해야 하며, 다른 리스너의 포트 번호와 겹치지 않아야 한다.
    [-selectors <selectors>]사용할 Selector의 개수이다.
    [-dual]read/write 작업에 각각 별개의 Selector를 사용한다.
    [-backlog <backlog>]수정할 리스너의 바뀔 backlog이다.
    [-timeout <read-timeout>][동적 변경] 수정할 리스너의 바뀔 read 타임아웃이다.
    [-keepaliveTimeout <keepalive-timeout>]사용하지 않는 소켓을 닫을 때까지의 시간을 설정한다.
    [-rt,--reservedthreads <reserved-threads>]수정할 리스너가 사용할 Reserved Thread의 바뀔 개수이다.
    [-f,--forceLock]수정을 위한 lock을 강제로 취한다.
  • 예제

    [DAS]domain1.adminServer>modify-listener -server adminServer -name base -dual -b acklog 250
    Executed successfully, but some configurations were not applied dynamically. It
    might be necessary to restart the server.
    Check the result using 'list-server-listeners -server adminServer -name base.
    
    [DAS]domain1.adminServer>list-server-listeners -server adminServer -name base
    ===============================================================
    base
    
    +---------------------------------------------------+---------+
    | address                                           | 0.0.0.0 |
    | port                                              |    9736 |
    | selectors                                         |      1  |
    | dual-selector                                     | true    |
    | backlog                                           |     250 |
    | read-timeout                                      |   30000 |
    | keepalive-timeout                                 | not-set |
    | reserved-threads                                  |       0 |
    +---------------------------------------------------+---------+
    ===============================================================

4.2.3.27. modify-log-handler

특정 서버의 특정 로거에 등록된 특정 핸들러를 수정한다.

  • alias

    modifyloghandler, modify-handler, modifyhandler

  • 사용법

    modify-log-handler -server <server-name>
                      -logger <logger-name>
                      <handler-name>
                      [-level <handler-level>]
                      [-filter <filter-class>]
                      [-encoding <encoding>]
                      [-filename <file-name>]
                      [-enable <enable-rotation>]
                      [-count <rotation-count>]
                      [-dir <rotation-dir>]
                      [-buffer <buffer-size>]
                      [-append <append>]
                      [-hour <hour> | -day <day> | -size <size>]
                      [-f,--forceLock]
                      [-detail]
                      [-permission <permission>]
  • 파라미터

    파라미터설명
    -server <server-name>서버의 이름이다.
    -logger <logger-name>로거의 이름이다.
    <handler-name>변경할 핸들러의 이름이다.
    [-level <handler-level>][동적 변경] 핸들러의 로그 레벨이다. (기본값: FINEST)
    [-filter <filter-class>]로그 메시지의 필터 클래스 이름이다.
    [-encoding <encoding>]로그 메시지의 인코딩 값이다.
    [-filename <file-name>]

    로그 메시를 기록할 파일 이름이다.

    (기본값: loggerName.log. jeus logger의 경우는 JeusServer.log)

    [-enable <enable-rotation>]파일 로테이션을 가능하게 할지 여부를 설정한다. (기본값: true)
    [-count <rotation-count>]백업하는 로그 파일의 최대 개수이다.
    [-dir <rotation-dir>]백업하는 로그 파일이 위치하는 디렉터리 경로이다.
    [-buffer <buffer-size>]로그 메시지를 파일에 기록할 때의 버퍼 사이즈이다.
    [-append <append>]

    재부팅할 때 이전 파일에 계속 로그를 남길지 여부를 설정한다.

    (true | false, 기본값: true)

    [-hour <hour>]입력된 시간마다 새로운 로그 파일을 작성한다.
    [-day <day>]입력된 날마다 새로운 로그 파일을 작성한다.
    [-size <size>]입력된 사이즈에 따라 새로운 로그 파일을 작성한다.
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-detail]동적 변경 결과에 대한 상세한 정보가 출력된다.
    [-permission]입력된 퍼미션으로 로그파일을 설정한다. (설정값 예시: rwxrwxrwx)
  • 예제

    [DAS]domain1.adminServer>modify-log-handler -server server1 -logger jeus newHandler -level CONFIG
    Successfully performed the MODIFY operation for The handler(FileHandler) for the
     logger(jeus) in server (server1).
    Check the results using "modify-log-handler"

4.2.3.28. modify-logger

특정 서버에 등록된 특정 로거를 수정한다.

  • alias

    modifylogger

  • 사용법

    modify-logger -server <server-name> <logger-name>
                 [-level <log-level>]
                 [-useParentHandlers <use-parent-handlers>]
                 [-filter <filter-class>]
                 [-formatter <formatter-class>]
                 [-f,--forceLock]
                 [-detail]
  • 파라미터

    파라미터설명
    -server <server-name>서버의 이름이다.
    <logger-name>로거의 이름이다.
    [-level <log-level>][동적 변경] 로거의 로그 레벨이다.
    [-useParentHandlers <use-parent-handlers>][동적 변경] 상위 로거의 핸들러를 사용할지 여부이다. (true | false)
    [-filter <filter-class>]로거에 적용할 필터의 클래스 이름이다.
    [-formatter <formatter-class>]로거에 적용할 Formatter의 클래스 이름이다.
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-detail]동적 변경 결과에 대한 상세한 정보가 출력된다.
  • 예제

    [DAS]domain1.adminServer>modify-logger -server server1 jeus.security -level FINEST -useParentHandlers false
    Successfully performed the MODIFY operation for The logger[jeus.security] inform
    ation for the server [server1].
    Check the results using "modify-logger"

4.2.3.29. remove-custom-resource-from-servers

동적으로 서버에 등록된 custom resource를 삭제한다.

  • alias

    remove-cr-from-servers

  • 사용법

    remove-custom-resource-from-servers <export-name>
                           -servers <server-list>
                           [-f,--forceLock]
                           [-detail]
  • 파라미터

    파라미터설명
    <export-name>서버에서 제거할 custom resource의 JNDI 바인드 이름이다.
    -servers <server-list>custom resource를 제거할 server list를 설정한다.
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-detail]동적 변경 결과에 대한 상세한 정보가 출력된다.
  • 예제

    [DAS]domain1.adminServer>remove-custom-resource-from-servers custom/dog -servers server1 
    Successfully performed the REMOVE operation for A custom resource.
    Check the results using "list-custom-resources"

4.2.3.30. remove-data-sources-from-server

동적으로 서버에 등록된 데이터소스들을 제거한다.

  • alias

    rmdsfromsvr

  • 사용법

    remove-data-sources-from-server -server <server-name>
                                    [-ids <data-source-id-list> | -all]
                                    [-f,--forceLock]
                                    [-detail]
  • 파라미터

    파라미터설명
    -server <server-name>데이터소스들 제거할 서버의 이름이다.
    [-ids <data-source-id-list>]

    서버로부터 제거할 데이터소스들의 ID 목록이다.

    한 개 이상인 경우 콤마(,)로 구분한다.

    [-all]서버에 등록된 모든 데이터소스를 제거한다.
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-detail]동적 변경 결과에 대한 상세한 정보가 출력된다.
  • 예제

    [DAS]domain1.adminServer>remove-data-sources-from-server -server server1 -ids data-source1
    Successfully performed the REMOVE operation for data sources from the server [server1].
    Check the results using "remove-data-sources-from-server -server server1"

4.2.3.31. remove-external-resource-from-servers

동적으로 서버에 등록된 external resource를 삭제한다.

  • alias

    remove-er-from-servers

  • 사용법

    remove-external-resource-from-servers <export-name>
                           -servers <server-list>
                           [-f,--forceLock]
                           [-detail]
  • 파라미터

    파라미터설명
    <export-name>서버에서 제거할 external resource의 이름이다.
    -servers <server-list>external resource를 제거할 server list를 설정한다.
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-detail]동적 변경 결과에 대한 상세한 정보가 출력된다.
  • 예제

    [DAS]domain1.adminServer>remove-external-resource-from-servers test/ext -servers server1 
    Successfully performed the REMOVE operation for A external resource.
    Check the results using "list-external-resources"

4.2.3.32. remove-jvm-option

특정 서버의 JVM 설정을 제거한다.

  • alias

    remove-jvmopt, rm-jvmopt, rmjvmopt, remove-jvm-config, remove-jvmcfg, rm-jvmcfg, rmjvmcfg

  • 사용법

    remove-jvm-option -server <server-name>
                      [-opt,--jvmOption <jvm-option>]
                      [-f,--forceLock]
                      [-detail]
  • 파라미터

    파라미터설명
    -server <server-name>서버의 이름이다.
    [-opt,--jvmOption <jvm-option>]서버로부터 제거할 JVM 설정이다.
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-detail]설정 변경 결과에 대한 상세한 정보가 출력된다.
  • 예제

    [DAS]domain1.adminServer>remove-jvm-option -server server1 -opt "-Xmx256m -XX:Ma xPermSize=128m"
    Successfully performed the REMOVE operation for JVM configuration for the server
    (server1)., but all changes were non-dynamic. They will be applied after restarting.
    Check the results using "list-jvm-options or remove-jvm-option"

4.2.3.33. remove-listener

특정 서버에 있는 리스너를 삭제한다. base 리스너나 다른 설정에서 참조하고 있는 리스너는 삭제할 수 없다.

  • alias

    removelistener, deletelistener

  • 사용법

    remove-listener -server <server-name>
                    -name <listener-name>
                    [-f,--forceLock]
  • 파라미터

    파라미터설명
    -server <server-name>서버의 이름이다.
    -name <listener-name>삭제할 리스너의 이름이다.
    [-f,--forceLock]수정을 위한 lock을 강제로 취한다.
  • 예제

    [DAS]domain1.adminServer>list-server-listeners -server adminServer
    ========================================================
    +------------------------------------+---------+-------+
    |            listener-name           | address |  port |
    +------------------------------------+---------+-------+
    | base                               | 0.0.0.0 |  9736 |
    | jms                                | 0.0.0.0 |  9741 |
    | http-lisetner                      | not-set |  8088 |
    | Test                               | not-set | 10000 |
    +------------------------------------+---------+-------+
    ========================================================
    [DAS]domain1.adminServer>remove-listener -server adminServer -name Test
    Executed Successfully, but some configurations were not applied dynamically. It
    might be necessary to restart the server.
    Check the result using 'list-server-listeners -server adminServer.
    [DAS]domain1.adminServer>list-server-listeners -server adminServer
    =========================================================
    +--------------------------------------+---------+------+
    |             listener-name            | address | port |
    +--------------------------------------+---------+------+
    | base                                 | 0.0.0.0 | 9736 |
    | jms                                  | 0.0.0.0 | 9741 |
    | http-lisetner                        | not-set | 8088 |
    +--------------------------------------+---------+------+
    =========================================================

4.2.3.34. remove-log-handler

동적으로 특정 서버의 특정 로거에 등록된 특정 핸들러를 삭제한다.

  • alias

    removeloghandler, removehandler, remove-handler

  • 사용법

    remove-log-handler -server <server-name> 
                       -logger <logger-name>
                       [<handler-name>]
                       [-f,--forceLock]
                       [-detail]
  • 파라미터

    파라미터설명
    -server <server-name>서버의 이름이다.
    -logger <logger-name>핸들러를 제거할 로거의 이름이다.
    [<handler-name>]제거할 핸들러의 이름이다.
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-detail]동적 변경 결과에 대한 상세한 정보가 출력된다.
  • 예제

    [DAS]domain1.adminServer>remove-log-handler -server server1 -logger jeus newHandler
    Successfully performed the REMOVE operation for The handler for the logger(jeus)
     on the server(server1)..
    Check the results using "list-log-handlers or remove-log-handler"

4.2.3.35. remove-logger

동적으로 특정 서버에 등록된 특정 로거를 삭제한다.

  • alias

    removelogger

  • 사용법

    remove-logger -server <server-name>
                  [<logger-name>]
                  [-f,--forceLock]
                  [-detail]
  • 파라미터

    파라미터설명
    -server <server-name>서버의 이름이다.
    [<logger-name>]제거할 로거의 이름이다.
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-detail]동적 변경 결과에 대한 상세한 정보가 출력된다.
  • 예제

    [DAS]domain1.adminServer>remove-logger -server server1 jeus.security 
    Successfully performed the REMOVE operation for The logger for the 
    server(server1)..
    Check the results using "list-loggers or remove-logger"

4.2.3.36. resume-server

일시 정지된 특정 서버 또는 특정 클러스터를 다시 서비스되도록 한다.

  • alias

    resume

  • 사용법

    resume-server [-clusters <cluster-list> | -servers <server-list>]
  • 파라미터

    파라미터설명
    [-clusters <cluster-list>]클러스터의 이름이다. 클러스터가 한 개 이상인 경우는 콤마(,)로 구분한다.
    [-servers <server-list>]서버의 이름이다. 서버가 한 개 이상인 경우는 콤마(,)로 구분한다.
  • 예제

    [DAS]domain1.adminServer>resume-server -servers server1
    Successfully resumed the servers.

4.2.3.37. rollback-config

백업되어 있는 특정 설정 파일로 rollback한다. 단, 명령어로 rollback을 할 때에는 동적 반영되지 않으므로 서버를 재시작해야 한다. 단, WebAdmin으로 rollback을 할 때에는 자동으로 동적 반영이 되므로 명령어 보다는 WebAdmin을 통한 rollback을 추천한다.

  • 사용법

    rollback-config -name <file-name>
                    [-des <description>]
  • 파라미터

    파라미터설명
    -name <file-name>rollback하고자 하는 백업 설정 파일 이름이다.
    [-des <description>]rollback을 하게 되면 현재 설정 파일이 백업 된다. 백업되는 현재 설정 파일에 대한 설명이다.
  • 예제

    [DAS]domain1.adminServer>rollback-config -name domain_20130420_210914.xml
    Rollback of backup domain.xml file is done successfully. You should restart all
    servers in domain.

4.2.3.38. run-garbage-collection

특정 서버 또는 특정 클러스터에 속한 서버들에 Full Garbage Collection를 수행한다.

  • alias

    rungc, gc

  • 사용법

    run-garbage-collection [-clusters <cluster-list> | -servers <server-list>]
  • 파라미터

    파라미터설명
    [-clusters <cluster-list>]클러스터의 이름이다. 클러스터가 한 개 이상인 경우는 콤마(,)로 구분한다.
    [-servers <server-list>]서버의 이름이다. 서버가 한 개 이상인 경우는 콤마(,)로 구분한다.
  • 예제

    [DAS]domain1.adminServer>run-garbage-collection -servers server1
    ============================================================
    +--------+-------------------------------------------------+
    | Server |                      Result                     |
    +--------+-------------------------------------------------+
    | server1| Succeeded to GC.                                |
    +--------+-------------------------------------------------+
    ============================================================

4.2.3.39. server-info

서버의 현재 상태를 확인한다.

  • alias

    svrinfo, serverinfo, si

  • 사용법

    server-info [-server <server-name>]
                [-state | -pid]
                [-g, --group  <group-name> | -c, --cluster  <cluster-name> |
                -n, --node  <node-name>]
  • 파라미터

    파라미터설명
    [-server <server-name>]특정 서버에 대한 정보를 출력한다.
    [-state]특정 서버를 함께 지정하였을 경우 해당 서버의 state만 출력한다.
    [-pid]특정 서버를 함께 지정하였을 경우 해당 서버의 pid만 출력한다.
    [-g, --group <group-name>]해당 그룹으로 분류된 서버에 대한 정보를 출력한다.
    [-c, --cluster <cluster-name>]해당 클러스터로 분류된 서버에 대한 정보를 출력한다.
    [-n, --node <node-name>]해당 노드로 분류된 서버에 대한 정보를 출력한다.
  • 예제

    [DAS]domain1.adminServer>server-info
    Information about Domain (domain1)
    ==============================================================================================
    +--------+---------+-----+-------+-----+----------------+--------+-------------+-------------+
    | Server |  Status | Node|  PID  | Clus|     Latest     | Need to| Listen Ports| Running     |
    |        |         |Name |       | ter | StartTime/Shut |Restart |             | Engines     |
    |        |         |     |       |     |   downTime     |        |             |             |
    +--------+---------+-----+-------+-----+----------------+--------+-------------+-------------+
    | adminSe| RUNNING | N/A | 12154 | N/A | 2016-08-26     | false  | base-0.0.0.0| jms,        |
    |rver(*) |(00:21:46|     |       |     |(금) 오후        |        |:9736        | ejb, web    |
    |        |)        |     |       |     |02:29:03 KST    |        | http-server-|             |
    |        |         |     |       |     |                |        |0.0.0.0:8088 |             |
    +--------+---------+-----+-------+-----+----------------+--------+-------------+-------------+
    | server1| RUNNING |node1| 12171 | clus| 2016-08-26     | false  | base-192.167| jms,        |
    |        |(00:04:03|     |       |ter1 |(금) 오후        |        |.0.124:9836  | ejb, web    |
    |        |)        |     |       |     |02:36:22 KST    |        |             |             |
    +--------+---------+-----+-------+-----+----------------+--------+-------------+-------------+
    | server2| RUNNING |node1| 12172 | clus| 2016-08-26     | false  | base-192.167| jms         |
    |        |(00:04:03|     |       |ter1 |(금) 오후        |        |.0.124:9936  | ejb, web    |
    |        |)        |     |       |     |02:36:22 KST    |        |             |             |
    +--------+---------+-----+-------+-----+----------------+--------+-------------+-------------+
    ==============================================================================================

4.2.3.40. server-log

특정 서버의 log 정보를 확인한다.

  • alias

    serverlog

  • 사용법

    server-log -server <server-name>
                [-basetime, <base-time>]
                [-endtime, <end-time>]
                [-line, <number-of-line>]
  • 파라미터

    파라미터설명
    -server <server-name>log를 가져올 서버를 지정한다.
    [-basetime, <base-time>]

    log의 시작 위치에 해당하는 지점을 시간으로 지정한다.

    (형식: "yyyy.MM.dd HH:mm:ss" 또는 "HH:mm:ss")

    [-endtime, <end-time>]

    log의 끝 위치에 해당하는 지점을 시간으로 지정한다.

    (형식: "yyyy.MM.dd HH:mm:ss" 또는 "HH:mm:ss")

    [-line, <number-of-line>]log의 시작 위치에 해당하는 지점을 line으로 지정한다.
  • 예제

    [DAS]domain1.adminServer>server-log -server adminServer -line 10
    [2016.08.26 20:00:39][2] [adminServer-33] [NodeManager-0062] Exceed to count to 
    connecting to the node manager. Verify that the node manager is functioning normally.
    [2016.08.26 20:00:59][2] [adminServer-33] [Console-0010] Attempting to execute 
    a command: server-log from heejin@192.168.15.59.
    [2016.08.26 20:00:59][2] [adminServer-33] [Console-0012] An exception occurred 
    while processing a command: server-log from heejin@192.168.15.59.
    [2016.08.26 20:01:45][2] [adminServer-76] [Console-0010] Attempting to execute 
    a command: server-log from heejin@192.168.15.59.
    [2016.08.26 20:01:45][2] [adminServer-76] [Console-0012] An exception occurred 
    while processing a command: server-log from heejin@192.168.15.59.
    [2016.08.26 20:02:26][2] [adminServer-36] [Console-0010] Attempting to execute 
    a command: server-log from heejin@192.168.15.59.
    [2016.08.26 20:02:26][2] [adminServer-36] [Console-0014] The command: server-log 
    from heejin@192.168.15.59 is executed successfully.
    [2016.08.26 20:02:40][2] [adminServer-73] [Console-0010] Attempting to execute 
    a command: server-log from heejin@192.168.15.59.
    [2016.08.26 20:02:40][2] [adminServer-73] [Console-0014] The command: server-log 
    from heejin@192.168.15.59 is executed successfully.
    [2016.08.26 20:08:16][2] [adminServer-76] [Console-0010] Attempting to execute 
    a command: server-log from heejin@192.168.15.59.
    Successfully got the log messages from the server(adminServer).
    [DAS]domain1.adminServer> 

4.2.3.41. show-config

현재 설정 파일과 백업된 설정 파일 목록을 조회한다.

  • 사용법

    show-config
  • 예제

    [DAS]domain1.adminServer>show-config
    ====================================================================
    show previous configurations.
    
    +----------------------------------------------------+-------------+
    |                      fileName                      | description |
    +----------------------------------------------------+-------------+
    | domain.xml                                         |             |
    | domain_20160513_170151.xml                         |             |
    | domain_20160513_165917.xml                         |             |
    | domain_20160513_163355.xml                         |             |
    | domain_20160513_160642.xml                         |             |
    | domain_20160513_160229.xml                         |             |
    | domain_20160513_154155.xml                         |             |
    +----------------------------------------------------+-------------+
    ====================================================================

4.2.3.42. start-cluster

특정 클러스터에 속한 MS들을 시작한다. SHUTDOWN 상태 또는 STANDBY 상태일 경우 사용 가능하다. 서버가 SHUTDOWN 상태일 경우에는 SSH 설정이 제대로 되어 있어야 동작한다. DAS-MS 구조에서만 수행 가능한 명령어이다.

  • alias

    startcluster

  • 사용법

    start-cluster <cluster-name> 
                  [-f, --force]
                  [-s, --standby]
                  [-seq,--sequential]
  • 파라미터

    파라미터설명
    <cluster-name>클러스터의 이름이다.
    [-f, --force]강제로 서버를 시작한다.
    [-s, --standby]클러스터를 준비 상태인 STANDBY 상태로 기동한다.
    [-seq, --sequential]클러스터에 속한 서버를 순차적으로 기동한다.
  • 예제

    [DAS]domain1.adminServer>start-cluster cluster1 
    The cluster [cluster1] has been successfully started.

4.2.3.43. start-domain

현재 도메인에 속한 모든 MS들을 시작한다. SHUTDOWN 상태 또는 STANDBY 상태일 경우 사용 가능하다. 서버가 SHUTDOWN 상태일 경우에는 SSH 설정이 제대로 되어 있어야 동작한다. DAS-MS 구조에서만 수행 가능한 명령어이다.

  • alias

    startdomain, bootall

  • 사용법

    start-domain [-f, --force]
                 [-s, --standby]
                 [-seq,--sequential]
  • 파라미터

    파라미터설명
    [-f, --force]강제로 서버를 시작한다.
    [-s, --standby]서버를 준비 상태인 STANDBY 상태로 기동한다.
    [-seq, --sequential]도메인에 속한 서버를 순차적으로 기동한다.
  • 예제

    [DAS]domain1.adminServer>start-domain
    All managed servers in the domain have been successfully started.

4.2.3.44. start-server

특정 MS를 시작한다. SHUTDOWN 상태 또는 STANDBY 상태일 경우 사용 가능하다. 해당 서버가 SHUTDOWN 상태일 경우에는 SSH 설정이 제대로 되어 있어야 동작한다.

  • alias

    startserver, boot

  • 사용법

    start-server <server-name>
                 [-f, --force]
                 [-s, --standby]
                 [-seq,--sequential]
  • 파라미터

    파라미터설명
    <server-name>서버의 이름이다.
    [-f, --force]강제로 서버를 시작한다.
    [-s, --standby]서버를 준비 상태인 STANDBY 상태로 기동한다.
    [-seq, --sequential]주어진 서버를 순차적으로 기동한다.
  • 예제

    [DAS]domain1.adminServer>start-server server1 
    The server [server1] was successfully started.

4.2.3.45. stop-cluster

특정 클러스터에 속한 MS들을 종료한다. DAS-MS 구조에서만 수행 가능한 명령어이다.

  • alias

    stopcluster, shutdowncluster, downcluster

  • 사용법

    stop-cluster <cluster-name>
                [-to,--shutdowntimeout <timeout> | -f, --force | -g,--graceful]
  • 파라미터

    파라미터설명
    <cluster-name>클러스터의 이름이다.
    [-to,--shutdowntimeout <time-out>]

    Graceful하게 종료할 때 사용할 타임아웃을 설정한다.

    처리 중인 요청을 입력한 시간만큼 완료되길 기다린다. (단위: ms)

    [-f, --force]Graceful 타임아웃을 적용하지 않고 강제로 종료할지 여부를 설정한다.
    [-g, --graceful]Graceful하게 종료할지 여부를 설정한다. 처리 중인 요청이 끝나길 무한히 기다린다.
  • 예제

    [DAS]domain1.adminServer>stop-cluster cluster1 
    The cluster [cluster1] was successfully stopped.

4.2.3.46. stop-domain

현재 도메인에 속한 MS들을 종료한다. DAS의 종료는 local-shutdown 명령을 통해서 가능하다. DAS-MS 구조에서만 수행 가능한 명령어이다.

  • alias

    stopdomain, shutdownall, downall

  • 사용법

    stop-domain [-to,--shutdowntimeout <timeout> | -f, --force | -g,--graceful]
  • 파라미터

    파라미터설명
    [-to,--shutdowntimeout <time-out>]

    Graceful하게 종료할 때 사용할 타임아웃을 설정한다.

    처리 중인 요청을 입력한 시간만큼 완료되길 기다린다. (단위: second)

    [-f, --force]Graceful 타임아웃을 적용하지 않고 강제로 종료할지 여부를 설정한다.
    [-g, --graceful]Graceful하게 종료할지 여부를 설정한다. 처리 중인 요청이 끝나길 무한히 기다린다.
  • 예제

    [DAS]domain1.adminServer>stop-domain
    All managed servers in the domain were successfully stopped.
    Unable to shut down Domain Administration Server. To shutdown Domain Administrat
    ion Server, use the local-shutdown command instead.

4.2.3.47. stop-server

입력한 단일 혹은 다수의 MS를 종료시킨다. timeout을 주거나 graceful 옵션을 주어 안전하게 종료시킬있다.

  • alias

    stopserver, down, shutdown, jeusexit

  • 사용법

    stop-server <server-list>
                [-to,--shutdowntimeout <timeout> | -f, --force | -g,--graceful]
  • 파라미터

    파라미터설명
    <server-list>서버의 이름이다. 서버가 한 개 이상인 경우는 콤마(,)로 구분한다.
    [-to,--shutdowntimeout <timeout>]

    Graceful하게 종료할 때 사용할 타임아웃을 설정한다.

    처리 중인 요청을 입력한 시간만큼 완료되길 기다린다. (단위: second)

    [-f, --force]Graceful shutdown을 시도하지 않고 바로 서버를 종료한다. (기본값)
    [-g, --graceful]Graceful하게 종료할지 여부를 설정한다. 처리 중인 요청이 끝나길 무한히 기다린다.
  • 예제

    [DAS]domain1.adminServer>stop-server server1 
    The server [server1] was successfully stopped.

4.2.3.48. suspend-server

서비스 중인 특정 서버를 일시 정지시킨다.

  • alias

    suspend

  • 사용법

    suspend-server [-clusters  <cluster-list> | -servers <server-list>]
  • 파라미터

    파라미터설명
    [-clusters <cluster-list>]클러스터의 이름이다. 서버가 한 개 이상인 경우는 콤마(,)로 구분한다.
    [-servers <server-list>]서버의 이름이다. 서버가 한 개 이상인 경우는 콤마(,)로 구분한다.
  • 예제

    [DAS]domain1.adminServer>suspend-server -servers server1
    Successfully suspended server(s).

4.2.3.49. system-info

특정 서버의 시스템 정보를 확인한다.

  • alias

    systeminfo, sysinfo, sys-info, system-information, system-ststus, systemstatus, systemst

  • 사용법

    system-info [-process,--process | -jvm,--jvm | -CPU,--cpu |
                 -patch,--patch | -memory,--memory]
               <server-name>
  • 파라미터

    파라미터설명
    [-process,--process]프로세스 정보를 출력한다.
    [-jvm,--jvm]JVM 정보를 출력한다.
    [-CPU,--cpu]CPU 정보를 출력한다.
    [-patch,--patch]서버에 적용된 패치 정보를 출력한다.
    [-memory,--memory]메모리 정보를 출력한다.
    <server-name>시스템 정보를 출력하고자 하는 서버의 이름이다.
  • 예제

    [DAS]domain1.adminServer>system-info -process adminServer
    System Information of Server [adminServer]
    Process Information [adminServer]
    ============================================================
    +------------------+---------------------------------------+
    |        Key       |                 Value                 |
    +------------------+---------------------------------------+
    | Process Id       |                                  8412 |
    | Thread Count     |                                    96 |
    | Process Priority |                                     8 |
    | Nice             |                                    -1 |
    | Memory Resident  | 354,836,480 bytes                     |
    | Memory Share     |                                    -1 |
    | Page Faults      |                                484667 |
    | CPU Percent      | 0.0 %                                 |
    | User Name        | User                                  |
    +------------------+---------------------------------------+
    ============================================================

4.2.4. Domain Configuration 관련 명령어

Domain Configuration 관련 명령어의 목록은 다음과 같다.

명령어설명
add-cluster동적으로 클러스터를 추가한다. DAS-MS 구조에서만 수행 가능한 명령어이다.
add-custom-resource동적으로 custom resource를 추가한다.
add-custom-resource-to-clusters클러스터에 동적으로 custom resource를 추가한다. DAS-MS 구조에서만 수행 가능한 명령어이다.
add-data-sources-to-cluster클러스터에 동적으로 데이터소스들을 등록한다. DAS-MS 구조에서만 수행 가능한 명령어이다.
add-external-resource동적으로 external resource를 추가한다.
add-external-resource-to-clusters클러스터에 동적으로 external resource를 추가한다. DAS-MS 구조에서만 수행 가능한 명령어이다.
add-server동적으로 서버를 추가한다. DAS-MS 구조에서만 수행 가능한 명령어이다.
add-servers-to-cluster동적으로 특정 서버를 특정 클러스터에 추가한다. DAS-MS 구조에서만 수행 가능한 명령어이다.
add-server-template동적으로 여러 서버에 공통적으로 적용할 수 있는 설정 템플릿을 추가한다. DAS-MS 구조에서만 수행 가능한 명령어이다.
add-dynamic-servers미리 만들어진 설정 템플릿을 이용하여 자동 생성한 서버들로 이루어진 클러스터를 추가한다. DAS-MS 구조에서만 수행 가능한 명령어이다.
apply-configuration-plan기존 domain.xml에 configuration plan을 적용한 새로운 domain.xml을 생성하는 Off-line 명령어이다.
create-domain새로운 도메인을 생성하는 Off-line 명령어이다. 기본으로 생성되는 사용자에 대한 암호는 별도로 입력해야 한다.
delete-domain생성된 도메인을 제거하는 Off-line 명령어이다.
disable-json-commandJsonCommand를 비활성화한다.
disable-to-resynchronize-applicationsMS가 INDEPENDENT 상태에서 DEPENDENT 상태로 변경되었을 때 애플리케이션을 동기화하지 않는다. DAS-MS 구조에서만 수행 가능한 명령어이다.
disable-webadminWebAdmin 서비스를 비활성화한다.
enable-json-commandJsonCommand를 활성화한다.
enable-to-resynchronize-applicationsMS가 INDEPENDENT 상태에서 DEPENDENT 상태로 변경되었을 때 애플리케이션을 동기화한다. DAS-MS 구조에서만 수행 가능한 명령어이다.
enable-webadminWebAdmin 서비스를 활성화한다.
config-system-clustering-frameworkSystem Clustering Framework에 관련된 설정을 변경한다.
show-system-clustering-frameworkSystem Clustering Framework에 관련된 설정을 조회한다.
list-clusters현재 도메인에 존재하는 클러스터의 정보를 확인한다. DAS-MS 구조에서만 수행 가능한 명령어이다.
list-custom-resources현재 도메인에 설정된 custom resource를 확인한다.
list-external-resources현재 도메인에 설정된 external resource를 확인한다.
list-domains현재 구성된 도메인의 목록을 조회하는 Off-line 명령어이다.
list-servers현재 도메인에 존재하는 서버의 정보를 확인한다.
modify-cluster동적으로 특정 클러스터의 설정을 변경한다. DAS-MS 구조에서만 수행 가능한 명령어이다.
modify-server동적으로 특정 서버의 설정을 변경한다.
modify-dynamic-serversDynamic Servers 설정으로 만들어진 클러스터의 설정 정보를 변경한다. DAS-MS 구조에서만 수행 가능한 명령어이다.
pack-domain도메인 백업을 이용한 장애 극복을 위해 특정 도메인 폴더를 압축하는 명령어이다.
remove-cluster동적으로 클러스터를 삭제한다. DAS-MS 구조에서만 수행 가능한 명령어이다.
remove-custom-resource동적으로 custom resource를 삭제한다.
remove-custom-resource-from-clusters클러스터에 등록된 custom resource를 동적으로 삭제한다. DAS-MS 구조에서만 수행 가능한 명령어이다.
remove-data-sources-from-cluster클러스터에 등록된 데이터소스들을 동적으로 제거한다. DAS-MS 구조에서만 수행 가능한 명령어이다.
remove-external-resource동적으로 external resource를 삭제한다.
remove-external-resource-from-clusters클러스터에 등록된 external resource를 동적으로 삭제한다. DAS-MS 구조에서만 수행 가능한 명령어이다.
remove-server동적으로 특정 서버를 삭제한다.
remove-servers-from-cluster동적으로 특정 클러스터에서 특정 서버를 삭제한다. DAS-MS 구조에서만 수행 가능한 명령어이다.
set-domain-backup도메인 백업을 이용한 장애 극복을 위해 DAS가 기동할 때 도메인 자동 백업을 설정하는 동적 On-line 명령어이다.
show-dynamic-servers동적 서버 생성으로 만들어진 클러스터의 설정 정보를 보여준다. DAS-MS 구조에서만 수행 가능한 명령어이다.
show-server-template설정된 서버 템플릿의 리스트를 조회한다. DAS-MS 구조에서만 수행 가능한 명령어이다.
unpack-domain서버에 장애가 생겼을 때, pack-domain에 의해 압축된 파일을 해제하는 명령어이다.

4.2.4.1. add-cluster

동적으로 클러스터를 추가한다. DAS-MS 구조에서만 수행 가능한 명령어이다.

  • 사용법

    add-cluster [<cluster-name>] 
                [-servers <server-list>]
                [-f,--forceLock]
                [-detail]
  • 파라미터

    파라미터설명
    [<cluster-name>]추가할 클러스터의 이름이다.
    [-servers <server-list>]

    이 클러스터에 포함할 서버의 이름이다.

    서버가 한 개 이상인 경우는 콤마(,)로 구분한다.

    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-detail]동적 변경 결과에 대한 상세한 정보가 출력된다.
  • 예제

    • 현재 존재하는 클러스터 확인

      [DAS]domain1.adminServer>list-clusters
      List of Clusters
      ===================================================================
      +----------+------------------------+-------+-----------+---------+
      |  Cluster |       Server List      |  MEJB | Class FTP | Running |
      +----------+------------------------+-------+-----------+---------+
      | cluster1 | server1, server2       | false | false     | true    |
      +----------+------------------------+-------+-----------+---------+
      ===================================================================
    • 현재 존재하지 않는 클러스터 이름으로 클러스터를 생성하고 다른 클러스터에 포함되지 않는 서버들로 클러스터 구성한 경우

      [DAS]domain1.adminServer>add-cluster cluster2 -servers server3,server4 
      Successfully performed the ADD operation for cluster (cluster2).
      Check the results using "list-clusters or add-cluster"

4.2.4.2. add-custom-resource

동적으로 custom resource를 추가한다.

  • alias

    addcustomresource, addcr

  • 사용법

    add-custom-resource [<export-name>]
                        [-resource,--resourceClass <resource-class>]
                        [-factory,--factoryClass <factory-class>]
                        [-p,--properties <properties>]
                        [-servers <server-list>]
                        [-clusters <cluster-list>]
                        [-f,--forceLock]
                        [-detail]
  • 파라미터

    파라미터설명
    [<export-name>]추가할 custom resource의 JNDI 바인드 이름이다.
    [-resource,--resourceClass <resource-class >]custom resource의 클래스 이름을 지정한다.
    [-factory,--factoryClass <factory-class >]custom resource를 생성하는 factoryClass 이름을 지정한다.
    [-p,--properties <properties>]custom resource의 property를 지정한다.
    [-servers <server-list>]custom resource를 도메인에 추가함과 동시에 주어진 server list에 등록한다.
    [-clusters <cluster-list>]custom resource를 도메인에 추가함과 동시에 주어진 cluster list에 등록한다.
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-detail]동적 변경 결과에 대한 상세한 정보가 출력된다.
  • 예제

    [DAS]domain1.adminServer>add-custom-resource custom/dog -resource dog.Dog -factory dog.DogFactory  
    Successfully performed the ADD operation for A custom resource.
    Check the results using "list-custom-resources or add-custom-resource"

4.2.4.3. add-custom-resource-to-clusters

동적으로 클러스터에 custom resource를 추가한다. DAS-MS 구조에서만 수행 가능한 명령어이다.

  • alias

    add-cr-to-clusters

  • 사용법

    add-custom-resource-to-clusters <export-name>
                        -clusters <cluster-list>
                        [-f,--forceLock]
                        [-detail]
  • 파라미터

    파라미터설명
    <export-name>클러스터에 추가할 custom resource의 JNDI 바인드 이름이다.
    -clusters <cluster-list>custom resource를 주어진 cluster list에 등록한다.
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-detail]동적 변경 결과에 대한 상세한 정보가 출력된다.
  • 예제

    [DAS]domain1.adminServer>add-custom-resource-to-clusters custom/dog -clusters cluster1  
    Successfully performed the ADD operation for A custom resource.
    Check the results using "list-custom-resources"

4.2.4.4. add-data-sources-to-cluster

동적으로 클러스터에 데이터소스들을 등록한다. DAS-MS 구조에서만 수행 가능한 명령어이다.

  • alias

    adddstocluster

  • 사용법

    add-data-sources-to-cluster -cluster <cluster-name>
                                [-ids <data-source-id-list> | -all]
                                [-f,--forceLock]
                                [-detail]
  • 파라미터

    파라미터설명
    -cluster<cluster-name>데이터소스를 등록할 클러스터의 이름이다.
    [-ids <data-source-id-list>]

    클러스터에 등록할 데이터소스들의 ID 목록이다.

    한 개 이상인 경우 콤마(,)로 구분한다.

    [-all]도메인에 정의된 모든 데이터소스를 클러스터에 등록한다.
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-detail]동적 변경 결과에 대한 상세한 정보가 출력된다.
  • 예제

    [DAS]domain1.adminServer>add-data-sources-to-cluster -cluster cluster1 -ids datasource1  
    Successfully performed the ADD operation for data sources to the cluster [cluster1].
    Check the results using "add-data-sources-to-cluster -cluster cluster1"

4.2.4.5. add-external-resource

동적으로 external resource를 추가한다.

  • alias

    addexternalresource, adder

  • 사용법

    add-external-resource [<export-name>]
                        [-class,--resourceClass <resource-class>]
                        [-p,--properties <properties>]
                        [-servers <server-list>]
                        [-clusters <cluster-list>]
                        [-f,--forceLock]
                        [-detail]
  • 파라미터

    파라미터설명
    [<export-name>]추가할 external resource의 이름이다.
    [-class,--resourceClass <resource-class >]external resource의 클래스 이름을 지정한다.
    [-p,--properties <properties>]external resource의 property를 지정한다.
    [-servers <server-list>]external resource를 도메인에 추가함과 동시에 주어진 server list에 등록한다.
    [-clusters <cluster-list>]external resource를 도메인에 추가함과 동시에 주어진 cluster list에 등록한다.
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-detail]동적 변경 결과에 대한 상세한 정보가 출력된다.
  • 예제

    [DAS]domain1.adminServer>add-external-resource test/ext -resource test.ext.TestResourceBootstrapper  
    Successfully performed the ADD operation for A external resource.
    Check the results using "list-external-resources or add-external-resource"

4.2.4.6. add-external-resource-to-clusters

동적으로 클러스터에 external resource를 추가한다. DAS-MS 구조에서만 수행 가능한 명령어이다.

  • alias

    add-er-to-clusters

  • 사용법

    add-external-resource-to-clusters <export-name>
                        -clusters <cluster-list>
                        [-f,--forceLock]
                        [-detail]
  • 파라미터

    파라미터설명
    <export-name>클러스터에 추가할 external resource의 이름이다.
    -clusters <cluster-list>external resource를 주어진 cluster list에 등록한다.
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-detail]동적 변경 결과에 대한 상세한 정보가 출력된다.
  • 예제

    [DAS]domain1.adminServer>add-external-resource-to-cluster test/ext -clusters cluster1  
    Successfully performed the ADD operation for A external resource.
    Check the results using "list-external-resources"

4.2.4.7. add-server

동적으로 서버를 추가한다. DAS-MS 구조에서만 수행 가능한 명령어이다.

  • alias

    addserver

  • 사용법

    add-server [<server-name>]
               [-target,--duptargetserver <target-server>]
               [-port,--baseport <base-port>]
               [-addr,--baseaddr <base-addr>]
               [-node,--nodeName <node-name>]
               [-jvm,--jvmOptions <jvm-options>]
               [-logdir,--logHomeDirectory <server-log-home-directory>]
               [-a,--actionOnResourceLeak <action-on-resource-leak>]
               [-l,--logStdoutToRawFormat <print-stdout-to-raw-format>]
               [-m,--mejb <enable-MEJB>]
               [-c,--classFtp <enable-class-ftp-service>]
               [-f,--forceLock]
               [-detail]
  • 파라미터

    파라미터설명
    [<server-name>]서버의 이름이다.
    [-target,--duptargetserver <target-server>]서버 설정을 복사할 타켓 서버의 이름이다.
    [-port,--baseport <base-port>]

    서버의 기본 동작 포트 번호이다.

    기본값으로 9736이 지정되나 같은 머신에 여러 개의 서버를 생성할 경우 구분이 필요한 설정이다.

    [-addr,--baseaddr <base-addr>]서버의 기본 동작 주소이다.
    [-node,--nodeName <node-name>]

    서버가 실제로 동작하게 될 머신을 의미하는 노드의 이름이다.

    list-nodes를 통해 노드들의 정보를 확인할 수 있다.

    [-jvm,--jvmOptions <jvm-options>]

    서버에 적용하고 하는 JVM 옵션이다.

    공백이 존재하는 경우 큰따옴표(" ")로 묶어서 입력한다.

    [-logdir,--logHomeDirectory <server-log-home-directory>]서버에서 생성되는 로그들이 공통적으로 들어갈 로그 디렉터리를 의미한다.
    [-a,--actionOnResourceLeak <action-on-resource-leak>]

    리소스에 leak이 발생할 경우 취할 액션을 설정한다.

    다음 중 하나를 입력한다.

    • AutoClose

    • NoAction

    • Warning

    [-l,--logStdoutToRawFormat <print-stdout-to-raw-format>][동적 변경] stdout을 그대로 출력할 것인지 JEUS 로거 포맷으로 출력할 것인지 설정한다. (true | false)
    [-m,--mejb <enable-MEJB>][동적 변경] MEJB를 사용할지 여부를 설정한다. (true | false)
    [-c,--classFtp <enable-class-ftp-service>][동적 변경] class FTP 서비스를 사용할지 여부를 설정한다. (true | false)
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-detail]동적 변경 결과에 대한 상세한 정보가 출력된다.
  • 예제

    • 현재 존재하는 서버 리스트 확인

      [DAS]domain1.adminServer>list-servers
      List of Editable Servers and Server Templates
      ================================================================================
      +------+------+-------+-----+-------+-------+-------+-----+------+-------+-----+
      |Server| Base |  Base | Node|  JVM  | Action| Stdout| MEJB| Class| Server| Type|
      |      |Listen|Listen |     |Configs|  On   |to Raw |     | FTP  |  Log  |     |
      |      |Addres| Port  |     |       |Resourc|Format |     |      | Home  |     |
      |      |  s   |       |     |       |e Leak |       |     |      |Directo|     |
      |      |      |       |     |       |       |       |     |      |  ry   |     |
      +------+------+-------+-----+-------+-------+-------+-----+------+-------+-----+
      | admin| 0.0.0| 9736  |node1| -Xmx25|Warning| true  |false| true | none  | serv|
      |Server|.0    |       |     |6m     |       |       |     |      |       |er   |
      |      |      |       |     |-XX:Max|       |       |     |      |       |     |
      |      |      |       |     |PermSiz|       |       |     |      |       |     |
      |      |      |       |     |e=128m |       |       |     |      |       |     |
      +------+------+-------+-----+-------+-------+-------+-----+------+-------+-----+
      | serve|      | 9836  |node1| -Xmx51|Warning| true  |false| false| none  | serv|
      |r1    |      |       |     |2m     |       |       |     |      |       |er   |
      |      |      |       |     |-XX:Max|       |       |     |      |       |     |
      |      |      |       |     |PermSiz|       |       |     |      |       |     |
      |      |      |       |     |e=128m |       |       |     |      |       |     |
      +------+------+-------+-----+-------+-------+-------+-----+------+-------+-----+
      ================================================================================
    • 현재 존재하지 않는 이름으로 서버 추가

      [DAS]domain1.adminServer>add-server server2 -port 10000 -node node1 -m false 
      Successfully performed the ADD operation for server (server2).
      Check the results using "list-servers or add-server"

4.2.4.8. add-servers-to-cluster

동적으로 특정 서버를 특정 클러스터에 추가한다. DAS-MS 구조에서만 수행 가능한 명령어이다.

  • 사용법

    add-servers-to-cluster <cluster-name> 
                          [-servers <server-list>]
                          [-f,--forceLock]
                          [-detail]
  • 파라미터

    파라미터설명
    <cluster-name>클러스터의 이름이다.
    [-servers <server-list>]

    이 클러스터에 포함하고 시키려는 서버의 이름이다.

    서버가 한 개 이상인 경우는 콤마(,)로 구분한다.

    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-detail]동적 변경 결과에 대한 상세한 정보가 출력된다.
  • 예제

    [DAS]domain1.adminServer>add-servers-to-cluster cluster1 -servers server1 
    Successfully performed the ADD operation for The server list for cluster(cluster1)..
    Check the results using "list-clusters cluster1 or add-servers-to-cluster cluster1"

4.2.4.9. add-server-template

동적으로 여러 서버에 공통적으로 적용할 수 있는 설정 템플릿을 추가한다. DAS-MS 구조에서만 수행 가능한 명령어이다.

  • 사용법

    add-server-template [<server-template-name>]
              [-jvm,--jvmOptions <jvm-options>]
              [-logdir,--logHomeDirectory <server-log-home-directory>]
              [-a,--actionOnResourceLeak <action-on-resource-leak>]
              [-l,--logStdoutToRawFormat <print-stdout-to-raw-format>]
              [-m,--mejb <enable-MEJB>]
              [-c,--classFtp <enable-class-ftp-service>]
              [-f,--forceLock]
              [-detail]
  • 파라미터

    파라미터설명
    <server-template-name>추가할 서버 템플릿의 이름이다.
    [-jvm,--jvmOptions <jvm-options>]

    템플릿에 추가할 JVM 옵션이다.

    공백이 존재하는 경우 큰따옴표(" ")로 묶어서 입력한다.

    [-logdir,--logHomeDirectory <server-log-home-directory>]템플릿으로 설정된 서버에서 생성되는 로그들이 공통적으로 들어갈 로그 디렉터리를 의미한다.
    [-a,--actionOnResourceLeak <action-on-resource-leak>]

    리소스에 leak이 발생할 경우 취할 액션을 설정한다.

    다음 중에 하나를 설정한다.

    • AutoClose

    • NoAction

    • Warning

    [-l,--logStdoutToRawFormat <print-stdout-to-raw-format>][동적 변경] stdout을 그대로 출력할 것인지 JEUS 로거 포맷으로 출력할 것인지 설정한다. (true | false)
    [-m,--mejb <enable-MEJB>][동적 변경] MEJB를 사용할지 여부를 설정한다. (true | false)
    [-c,--classFtp <enable-class-ftp-service>][동적 변경] class FTP 서비스를 사용할지 여부를 설정한다. (true | false)
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-detail]동적 변경 결과에 대한 상세한 정보가 출력된다.
  • 예제

    [DAS]domain1.adminServer>add-server-template temp1-a Warning 
    Successfully performed the ADD operation for server template (temp1), but all changes were non-dynamic. They will be applied after restarting.
    Check the results using "list-servers or show-server-template or add-server-template".

4.2.4.10. add-dynamic-servers

미리 설정된 템플릿을 이용하여 자동 생성한 서버들로 이루어진 클러스터를 생성한다. 미리 템플릿을 통하여 설정 정보를 저장한 다음에 사용해야 한다. DAS-MS 구조에서만 수행 가능한 명령어이다.

  • alias

    adddservers

  • 사용법

    add-dynamic-servers <cluster-name> 
              -count <the-number-of-dynamic-servers>
              [-nodes,--nodeNames <node-names>]
              [-base <base-port>]
              [-http <http-port>]
              [-jms <jms-port>]
              [-prefix,--serverNamePrefix <server-name-prefix>]
              -template,--serverTemplateName <server-template-name>
              [-step,--listenPortStep <listen-port-step>]
              [-f,--forceLock]
              [-detail]
  • 파라미터

    파라미터설명
    <cluster-name>동적 설정 서버들을 이용하여 생성할 클러스터 이름을 지정한다.
    -count <the-number-of-dynamic-servers>클러스터에 생성할 서버의 수를 정한다.
    [-nodes,--nodeNames <node-names>]추가될 서버가 위치하게 될 노드들을 설정한다. 콤마(,)를 구분자로 하여 여러 개를 설정할 수 있다.
    [-base <base-port>]서버의 기본 동작 포트를 설정한다.
    [-http <http-port>]서버의 HTTP 포트를 설정한다.
    [-jms <jms-port>]서버의 JMS 포트를 설정한다.
    [-prefix,--serverNamePrefix <server-name-prefix>]

    생성될 서버의 이름 앞에 붙을 prefix를 설정한다.

    Prefix가 설정되지 않은 경우에는 클러스터 이름 뒤에 '_server_'를 붙인다.

    -template,--serverTemplateName <server-template-name>Dynamic 서버들에게 공통적으로 적용될 설정 템플릿을 지정한다.
    [-step,--listenPortStep <listen-port-step>]같은 노드에 생성된 서버들의 포트 번호를 몇 씩 증가시킬지 지정한다.
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-detail]동적 변경 결과에 대한 상세한 정보가 출력된다.
  • 예제

    [DAS]domain1.adminServer>add-dynamic-servers cluster1 -count 2 -nodes node1 -template temp1
    Successfully performed the ADD operation for Dynamic servers configuration in the cluster (cluster1).
    Check the results using "list-clusters or show-dynamic-servers".

4.2.4.11. apply-configuration-plan

기존 domain.xml에 configuration plan을 적용한 새로운 domain.xml을 생성하는 명령어이다.

  • alias

    applycp

  • 사용법

    apply-configuration-plan -plan,--configPlanPath <configuration-plan-path>
                             -src,--configSourcePath <configuration-source-path>
                             -target,--configTargetPath <configuration-target-path>
  • 파라미터

    파라미터설명
    -plan,--configPlanPath <configuration-plan-path>적용할 configuration plan의 경로를 지정한다.
    -src,--configSourcePath <configuration-source-path>configuration plan을 적용할 기존 domain.xml의 경로를 지정한다.
    -target,--configTargetPath <configuration-target-path>configuration plan이 적용된 결과 파일의 경로를 지정한다.
  • 예제

    offline>apply-configuration-plan -src /home/jeus/domains/domain1/config/domain.xml 
    -plan /home/plans/jeus-configuration-plan.xml -target /home/jeus/domains/domain1/config/domain.xml.new 
    Successfully applied configuration plan.
  • 참고

    본 명령어는 서버에 접속하지 않은 상태에서도 사용할 수 있다.

4.2.4.12. create-domain

새로운 도메인을 생성하는 명령어이다. 기본으로 생성되는 사용자에 대한 암호는 별도로 입력해야 한다.

사용자 암호는 AES로 암호화되어 저장된다. option에 대한 default 값은 JEUS_HOME\setup\domain-config-template.properties의 값을 따른다.

  • alias

    createdomain

  • 사용법

    create-domain -domain <domain-name>
                  [-das <das-name>]
                  [-baseport <das-base-port>]
                  [-baseaddress <das-base-address>]
                  [-jmsport <jms-port>]
                  [-user <user-name>]
                  [-httpport <http-port>]
                  [-jvmconfig <jvm-config>]
                  [-node <node-name>]
                  [-pw,--password]
                  [-uvm,--usevirtualmulticast]
                  [-productionmode,--productionmode]
                  [-ha,--heartbeataddress <heart-beat-address>]
                  [-hp,--heartbeatport <heart-beat-port>]        
  • 파라미터

    파라미터설명
    -domain <domain-name>도메인의 이름이다.
    [-das <das-name>]도메인을 관리하는 DAS의 이름이다.
    [-baseport <das-base-port>]DAS의 기본 동작 포트 번호이다.
    [-baseaddress <das-base-address>]DAS의 기본 동작 주소이다.
    [-jmsport <jms-port>]DAS의 JMS 포트 번호이다.
    [-user <user-name>]도메인의 사용자 이름이다.
    [-httpport <http-port>]DAS의 HTTP 포트 번호이다.
    [-jvmconfig <jvm-config>]DAS에 적용할 JVM 설정이다.
    [-node <node-name>]DAS에 적용할 노드 이름이다.
    [-pw,--password]템플릿 프로퍼티 파일과 상관없이 무조건 password를 콘솔에서 입력받게 된다.
    [-uvm,--usevirtualmulticast]SCF에서 TCP를 이용한 virtual multicast를 사용할지 여부이다.
    [-productionmode,--productionmode]생성하는 JEUS의 도메인을 production mode에서 사용할지 여부이다.
    [-ha,--heartbeataddress <heart-beat-address>]

    SCF에서 heartbeat에 사용할 주소이다.

    --usevirtualmulticast 설정이 되어 있지 않아야 한다.

    [-hp,--heartbeatport <heart-beat-port>]

    SCF에서 heartbeat에 사용할 포트 번호이다.

    --usevirtualmulticast 설정이 되어 있지 않아야 한다.

  • 예제

    offline>create-domain -domain domain1 -das adminServer -baseport 9763 -ha 
    230.30.1.1 -hp 3030 -jvmconfig "-Xmx1024m -XX:MaxPermSize=256m"
    Enter the password for [administrator]: ********** 
    Confirm the password: **********
    Do you want to encrypt the password? (y/n): y
    ================================================================================
    The domain [domain1] was created successfully.
    
    +-------------------------+--------------------------------------------------------+
    |         Property        |                        Value                           |
    +-------------------------+--------------------------------------------------------+
    | Domain name             | domain1                                                |
    | Das Name                | adminServer                                            |
    | Das Base Listen Port    | 9736                                                   |
    | Das Base Listen Address | 0.0.0.0                                                |
    | JMS Internal Port       | 9741                                                   |
    | HTTP Port               | 8088                                                   |
    | User Name               | administrator                                          |
    | Node Name               | node1                                                  |
    | Password                | {AES:256}lBljYlIlBrujFDC7v3NSoHZQprgnncVmdBbkt4oxDRg=  |
    | JVM Option              | -Xmx1024m -XX:MaxPermSize=256m                         |
    | Production Mode         | true                                                   |
    | Heart beat address      | 230.30.1.1                                             |
    | Heart beat port         | 3030                                                   |
    +-------------------------+--------------------------------------------------------+
    ====================================================================================
  • 참고

    본 명령어는 서버에 접속하지 않은 상태에서도 사용할 수 있다.

4.2.4.13. delete-domain

생성된 도메인을 제거하는 명령어이다. 현재 접속 중인 서버가 속한 도메인은 삭제하지 못한다.

  • alias

    deletedomain

  • 사용법

    delete-domain -domain <domain-name>
  • 파라미터

    파라미터설명
    -domain <domain-name>도메인의 이름이다.
  • 예제

    offline>delete-domain -domain newDomain 
    Deleting the domain directory was successfully.
  • 참고

    본 명령어는 서버에 접속하지 않은 상태에서도 사용할 수 있다.

4.2.4.14. disable-json-command

JsonCommand를 비활성화한다.

  • alias

    suspend-json-command, jsonoff

  • 사용법

    disable-json-command [-f,--forceLock]
  • 파라미터

    파라미터설명
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
  • 예제

    [DAS]domain1.adminServer>disable-json-command
    JsonCommand was successfully disabled.
    The configuration was changed.
    ================================================================================
    +------------------------------------------------------------------------------+
    |                                    Result                                    |
    +------------------------------------------------------------------------------+
    | Successfully applied the configuration changes.                              |
    +------------------------------------------------------------------------------+
    ================================================================================

4.2.4.15. disable-to-resynchronize-applications

INDEPENDENT 상태인 MS가 DEPENDENT 상태가 되었을 때 애플리케이션을 동기화하지 않는다. DAS-MS 구조에서만 수행 가능한 명령어이다.

  • alias

    disalbe-resync-apps, disable-resyncapps

  • 사용법

    disable-to-resynchronize-applications [-f,--forceLock]
  • 파라미터

    파라미터설명
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
  • 예제

    [DAS]domain1.adminServer>disable-to-resynchronize-applications
    ResyncAppsCommand was successfully disabled.
    The configuration was changed.
    ================================================================================
    +------------------------------------------------------------------------------+
    |                                    Result                                    |
    +------------------------------------------------------------------------------+
    | Successfully applied the configuration changes.                              |
    +------------------------------------------------------------------------------+
    ================================================================================

4.2.4.16. disable-webadmin

WebAdmin 서비스를 비활성화한다.

  • alias

    suspend-webadmin, webadminoff

  • 사용법

    disable-webadmin [-f,--forceLock]
  • 파라미터

    파라미터설명
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
  • 예제

    [DAS]domain1.adminServer>disable-webadmin
    WebAdmin was successfully disabled.
    The configuration was changed.
    ===============================================================
    +-------------------------------------------------------------+
    |                      Result                                 |
    +-------------------------------------------------------------+
    | Succeeded to apply configuration changes.                   |
    +-------------------------------------------------------------+
    ===============================================================        

4.2.4.17. enable-json-command

JsonCommand를 활성화한다.

  • alias

    resume-json-command, jsonon

  • 사용법

    enable-json-command [-f,--forceLock]
  • 파라미터

    파라미터설명
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
  • 예제

    [DAS]domain1.adminServer>enable-json-command
    JsonCommand was successfully enabled.
    The configuration was changed.
    ================================================================================
    +------------------------------------------------------------------------------+
    |                                    Result                                    |
    +------------------------------------------------------------------------------+
    | Successfully applied the configuration changes.                              |
    +------------------------------------------------------------------------------+
    ================================================================================

4.2.4.18. enable-to-resynchronize-applications

INDEPENDENT 상태인 MS가 DEPENDENT 상태가 되었을 때 애플리케이션을 동기화한다. DAS-MS 구조에서만 수행 가능한 명령어이다.

  • alias

    enable-resynch-apps, enable-resyncapps, enableresyncapps

  • 사용법

    enable-to-resynchronize-applications [-f,--forceLock]
  • 파라미터

    파라미터설명
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
  • 예제

    [DAS]domain1.adminServer>enable-to-resynchronize-applications
    ResyncAppsCommand was successfully enabled.
    The configuration was changed.
    ================================================================================
    +------------------------------------------------------------------------------+
    |                                    Result                                    |
    +------------------------------------------------------------------------------+
    | Successfully applied the configuration changes.                              |
    +------------------------------------------------------------------------------+
    ================================================================================

4.2.4.19. enable-webadmin

WebAdmin 서비스를 활성화한다.

  • alias

    resume-webadmin, webadminon

  • 사용법

    enable-webadmin [-f,--forceLock]
  • 파라미터

    파라미터설명
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
  • 예제

    [DAS]domain1.adminServer>enable-webadmin
    WebAdmin was successfully enabled.
    The configuration was changed.
    ===============================================================
    +-------------------------------------------------------------+
    |                      Result                                 |
    +-------------------------------------------------------------+
    | Succeeded to apply configuration changes.                   |
    +-------------------------------------------------------------+
    ===============================================================

4.2.4.20. config-system-clustering-framework

System Clustering Framework과 관련된 설정을 변경한다.

  • alias

    config-scf, configscf, scf

  • 사용법

    config-system-clustering-framework 
              [-addr <Heartbeat-address>]
              [-port <Heartbeat-port>]
              [-virtual | -real]
              [-discovery <Leader Discovery Timeout>]
              [-detect <Failure Detection Timeout>]
              [-verify <Failure Verification Timeout>]
              [-max <Max Thread Pool Size>]
              [-min <Min Thread Pool Size>]
              [-f,--forceLock]
  • 파라미터

    파라미터설명
    [-addr <Heartbeat-address>]

    Heartbeating에 사용되는 Multicast 주소를 입력한다.

    224.0.0.0 ~ 239.255.255.255 사이의 예약되지 않은 주소를 입력한다. 예약되지 않은 올바른 주소를 할당하기 위해서는 "http://www.iana.org/assignments/multicast-addresses"의 내용을 확인하는 것을 권장한다.

    [-port <Heartbeat-port>]Heartbeating에 사용되는 Multicast의 포트 번호를 설정한다.
    [-virtual | -real]
    • -virtual : 도메인 또는 클러스터 내에서 특정 서버가 서브넷을 넘어선 위치, 즉 Multicast가 불가능한 네트워크 환경에 존재하더라도 TCP 프로토콜을 통해 가상적인 Multicast를 가능하도록 하는 기능인 Virtual Multicast를 사용하도록 하는 설정이다. 이 때 최소한 각 MS들은 DAS의 주소를 알 수 있어야 한다. DAS의 Base Listener 설정에 주소를 명시하는 방법과 MS를 기동할 때 -dasurl 옵션을 주는 방법이 있다.

    • -real : 일반적인 IP Multicast를 사용한다.

    [-discovery <Leader Discovery Timeout>]최초에 기동하여 기존에 형성되어있는 Group의 Leader를 찾아내기까지 허용되는 최대 시간을 설정한다. 설정된 시간이 지나도 Leader를 찾지 못한다면 자신이 Leader가 되었다고 선언한다. 이 시간은 새 Leader 선출에도 이용된다.
    [-detect <Failure Detection Timeout>]자신의 Health 상태를 다른 Peer들에게 전달하는 시간 간격 및 다른 Peer들의 Health 상태를 확인하는 시간 간격으로 사용되는 값이다.
    [-verify <Failure Verification Timeout>]Indoubt Peer(suspected member)가 Failure 상태인지 확정하는 체크 주기를 설정한다.
    [-max <Max Thread Pool Size>]System Clustering Framework에서 사용하는 Thread pool 크기의 최대치를 설정한다.
    [-min <Min Thread Pool Size>]System Clustering Framework에서 사용하는 Thread pool 크기의 최소치를 설정한다.
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
  • 예제

    [DAS]domain1.adminServer>config-system-clustering-framework -port 15000
              Executed successfully, but some configurations were not applied dynamically. It might be necessary to restart the server.
              Check the result using 'show-system-clustering-framework'.

4.2.4.21. show-system-clustering-framework

System Clustering Framework과 관련된 설정을 조회한다.

  • alias

    show-scf

  • 사용법

    show-system-clustering-framework 
  • 예제

    [DAS]domain1.adminServer>show-system-clustering-framework
              ======================================================================
              System clustering framework configurations
    
              +--------------------------------------------------------+-----------+
              | heartbeat-address                                      | 224.0.0.3 |
              | heartbeat-port                                         |     15000 |
              | use-virtual-multicast                                  | false     |
              | leader-discovery-timeout                               |      3000 |
              | failure-detection-timeout                              |      3000 |
              | failure-verification-timeout                           |      3000 |
              | max-thread-pool-size                                   |        50 |
              | min-thread-pool-size                                   |         1 |
              +--------------------------------------------------------+-----------+
              ======================================================================

4.2.4.22. list-clusters

현재 도메인에 존재하는 클러스터의 정보를 확인한다. DAS-MS 구조에서만 수행 가능한 명령어이다.

  • 사용법

    list-clusters [<cluster-name>]
  • 파라미터

    파라미터설명
    [<cluster-name>]클러스터의 이름이다.
  • 예제

    [DAS]domain1.adminServer>list-clusters
    List of Clusters
    ================================================================================
    +---------+------------------------------------------+-----+----------+--------+
    | Cluster |                Server List               | MEJB| Class FTP| Running|
    +---------+------------------------------------------+-----+----------+--------+
    | cluster1| newServer, server1                       |     |          | true   |
    +---------+------------------------------------------+-----+----------+--------+
    ================================================================================

4.2.4.23. list-custom-resources

현재 도메인에 설정된 custom resource를 확인한다.

  • alias

    listcustomresources, list-cr, listcr

  • 사용법

    list-custom-resources [-name <export-name>] | 
                           [-cluster <cluster-name>] | 
                           [-server <server-name>]
  • 파라미터

    파라미터설명
    [-name <export-name>]custom resource의 이름이다.
    [-cluster <cluster-name>]클러스터에 등록된 custom resource를 확인하기 위한 클러스터 이름이다.
    [-server <server-name>]서버에 등록된 custom resource를 확인하기 위한 서버 이름이다.
  • 예제

    [DAS]domain1.adminServer>list-custom-resources
    List of Custom Resources
    ================================================================================
    +-------------+--------------------+--------------------------+----------------+
    | Export Name |   Resource Class   |       Factory Class      |   Properties   |
    +-------------+--------------------+--------------------------+----------------+
    | custom/dog  | dog.Dog            | dog.DogFactory           | [test=1,       |
    |             |                    |                          |test1=2]        |
    +-------------+--------------------+--------------------------+----------------+
    ================================================================================

4.2.4.24. list-external-resources

현재 도메인에 설정된 external resource를 확인한다.

  • alias

    listexternalresources, list-er, lister

  • 사용법

    list-external-resources [-name <export-name>] | 
                             [-cluster <cluster-name>] | 
                             [-server <server-name>]
  • 파라미터

    파라미터설명
    [-name <export-name>]external resource의 이름이다.
    [-cluster <cluster-name>]클러스터에 등록된 external resource를 확인하기 위한 클러스터 이름이다.
    [-server <server-name>]서버에 등록된 external resource를 확인하기 위한 서버 이름이다.
  • 예제

    [DAS]domain1.adminServer>list-external-resources
    List of External Resources
    ================================================================================
    +-------------+---------------------------------------------------+------------+
    | Export Name |                   Resource Class                  | Properties |
    +-------------+---------------------------------------------------+------------+
    | test/ext    | test.ext.TestResourceBootstrapper                 | []         |
    +-------------+---------------------------------------------------+------------+
    ================================================================================

4.2.4.25. list-domains

현재 구성된 도메인의 목록을 조회하는 명령어이다.

  • alias

    listdomains

  • 사용법

    list-domains
  • 예제

    offline>list-domains 
    List Domains
    ================================================================================
    +------------------------------------------------------------------------------+
    |                                    Domains                                   |
    +------------------------------------------------------------------------------+
    | domain1                                                                      |
    +------------------------------------------------------------------------------+
    ================================================================================
  • 참고

    본 명령어는 서버에 접속하지 않은 상태에서도 사용할 수 있다.

4.2.4.26. list-servers

현재 도메인에 존재하는 서버의 설정 정보를 확인한다. 상태 정보 확인을 위해서는 server-info 명령어를 사용한다.

  • 사용법

    list-servers [<server-name>]
  • 파라미터

    파라미터설명
    [<server-name>]서버의 이름이다.
  • 예제

    [DAS]domain1.adminServer>list-servers
    List of Editable Servers and Server Templates
    ================================================================================================
    +------+---------+--------+-----+-----------+-----------+----------+-----+-----+---------------+----------+
    |Server|   Base  |  Base  | Node|JVM Configs| Action On | Stdout to| MEJB|Class| Server        | Type     |
    |      | Listen  | Listen |     |           | Resource  |Row Format|     | FTP | Log Home      |          |
    |      | Address |  Port  |     |           |   Leak    |          |     |     | Directory     |          |
    +------+---------+--------+-----+-----------+-----------+----------+-----+-----+---------------+----------+
    | admin| 0.0.0.0 | 9736   |     | -Xmx256m  | Warning   | true     |false| true| none          | server   |
    |Server|         |        |     |-XX:MaxPerm|           |          |     |     |               |          |
    |      |         |        |     |Size=128m  |           |          |     |     |               |          |
    |      |         |        |     | -Xdebug   |           |          |     |     |               |          |
    |      |         |        |     |-Xrunjdwp:t|           |          |     |     |               |          |
    |      |         |        |     |ransport=dt|           |          |     |     |               |          |
    |      |         |        |     |_socket,ser|           |          |     |     |               |          |
    |      |         |        |     |ver=y,suspe|           |          |     |     |               |          |
    |      |         |        |     |nd=n,addres|           |          |     |     |               |          |
    |      |         |        |     |s=5005     |           |          |     |     |               |          |
    +------+---------+--------+-----+-----------+-----------+----------+-----+-----+---------------+----------+
    | serve| 192.167.| 9836   |node1|           | Warning   | false    |false|false| none          | server   |
    |r1    |0.124    |        |     |           |           |          |     |     |               |          |
    +------+---------+--------+-----+-----------+-----------+----------+-----+-----+---------------+----------+
    | serve| 192.167.| 9936   |     |           | Warning   | false    |false|false| none          | server   |
    |r2    |0.124    |        |     |           |           |          |     |     |               |          |
    +------+---------+--------+-----+-----------+-----------+----------+-----+-----+---------------+----------+
    | temp1| none    | none   | none|           | Warning   | true     |false|false| none          | template |
    |      |         |        |     |           |           |          |     |     |               |          |
    +------+---------+--------+-----+-----------+-----------+----------+-----+-----+---------------+----------+
    ================================================================================================

4.2.4.27. modify-cluster

동적으로 특정 클러스터의 설정을 변경한다. DAS-MS 구조에서만 수행 가능한 명령이다.

  • alias

    modifycluster, clusterconf, clusterconfig

  • 사용법

    modify-cluster <cluster-name>
                   [-m,--mejb <enable-MEJB>]
                   [-c,--classFtp <enable-class-ftp-service>]
                   [-f,--forceLock]
                   [-detail]
  • 파라미터

    파라미터설명
    <cluster-name>클러스터의 이름이다.
    [-m,--mejb <enable-MEJB>][동적 변경] MEJB를 사용할지 여부를 설정한다. (true | false)
    [-c,--classFtp <enable-class-ftp-service>][동적 변경] class FTP 서비스를 사용할지 여부를 설정한다. (true | false)
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-detail]동적 변경 결과에 대한 상세한 정보가 출력된다.
  • 예제

    [DAS]domain1.adminServer>modify-cluster cluster1 -m true 
    Successfully performed the MODIFY operation for cluster (cluster1).
    Check the results using "list-clusters cluster1 or modify-cluster cluster1"

4.2.4.28. modify-server

동적으로 특정 서버의 설정을 변경한다.

  • alias

    serverconf, serverconfig, modify-server-template

  • 사용법

    modify-server <server-name>
                  [-removelogdir,--removeLogHomeDirectory]
                  [-node,--nodeName <node-name>]
                  [-jvm,--jvmOptions <jvm-options>]
                  [-logdir,--logHomeDirectory <server-log-home-directory>]
                  [-a,--actionOnResourceLeak <action-on-resource-leak>]
                  [-l,--logStdoutToRawFormat <print-stdout-to-raw-format>]
                  [-m,--mejb <enable-MEJB>]
                  [-c,--classFtp <enable-class-ftp-service>]
                  [-f,--forceLock]
                  [-detail]
  • 파라미터

    파라미터설명
    <server-name>서버의 이름이다.
    [-removelogdir,--removeLogHomeDirectory]서버에서 생성되는 로그들이 공통적으로 들어갈 로그 디렉터리를 삭제할지의 여부이다.
    [-node,--nodeName <node-name>]

    서버가 실제로 동작하게 될 머신을 의미하는 노드의 이름이다.

    list-nodes를 통해 노드들의 정보를 확인할 수 있다.

    [-jvm,--jvmOptions <jvm-options>]

    서버에 적용하고 하는 JVM 옵션이다.

    공백이 존재하는 경우 큰따옴표(" ")로 묶어서 입력한다.

    [-logdir,--logHomeDirectory <server-log-home-directory>]서버에서 생성되는 로그들이 공통적으로 들어갈 로그 디렉터리를 의미한다.
    [-a,--actionOnResourceLeak <action-on-resource-leak>]

    리소스에 leak이 발생할 경우 취할 액션을 설정한다.

    다음 중에 하나를 설정한다.

    • AutoClose

    • NoAction

    • Warning

    [-l,--logStdoutToRawFormat <print-stdout-to-raw-format>][동적 변경]stdout을 그대로 출력할 것인지 JEUS 로거 포맷으로 출력할 것인지 설정한다. (true | false)
    [-m,--mejb <enable-MEJB>][동적 변경] MEJB를 사용할지 여부를 설정한다. (true | false)
    [-c,--classFtp <enable-class-ftp-service>][동적 변경] class FTP 서비스를 사용할지 여부를 설정한다. (true | false)
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-detail]동적 변경 결과에 대한 상세한 정보가 출력된다.
  • 예제

    [DAS]domain1.adminServer>modify-server server1 -a AutoClose -l false
    Successfully performed the MODIFY operation for server (server1).
    Check the results using "list-servers server1 or modify-server server1"

4.2.4.29. modify-dynamic-servers

Dynamic servers 설정으로 생성한 클러스터의 설정을 변경한다. DAS-MS 구조에서만 수행 가능한 명령어이다.

  • alias

    modifydservers

  • 사용법

    modify-dynamic-servers <cluster-name> 
              [-count <the-number-of-dynamic-servers>]
              [-nodes,--nodeNames <node-names>]
              [-base <base-port>]
              [-http <http-port>]
              [-jms <jms-port>]
              [-prefix,--serverNamePrefix <server-name-prefix>]
              [-template,--serverTemplateName <server-template-name>]
              [-step,--listenPortStep <listen-port-step>]
              [-f,--forceLock]
              [-detail]
  • 파라미터

    파라미터설명
    <cluster-name>동적 설정 서버들의 설정을 변경할 클러스터 이름을 지정한다.
    [-count <the-number-of-dynamic-servers>]클러스터에 추가할 서버의 수를 변경한다.
    [-nodes,--nodeNames <node-names>]

    서버가 위치할 노드를 변경한다.

    콤마(,)를 구분자로 하여 여러 개를 설정할 수 있다. 모든 노드를 대상으로 하는 경우 -nodes 옵션 뒤에 아무 인자도 넘겨주지 않으면 된다.

    [-base <base-port>]서버의 기본 동작 포트를 변경한다.
    [-http <http-port>]서버의 HTTP 포트를 변경한다.
    [-jms <jms-port>]서버의 JMS 포트를 변경한다.
    [-prefix,--serverNamePrefix <server-name-prefix>]

    서버의 이름 앞에 붙을 prefix를 변경한다.

    Prefix가 설정되지 않은 경우에는 클러스터 이름 뒤에 '_server_'를 불인다.

    [-template,--serverTemplateName <server-template-name>]동적(Dynamic) 서버들에게 공통적으로 적용될 설정 템플릿을 지정한다.
    [-step,--listenPortStep <listen-port-step>]같은 노드에 생성된 서버들의 포트 번호를 몇 씩 증가시킬지 변경한다.
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-detail]동적 변경 결과에 대한 상세한 정보가 출력된다.
  • 예제

    [DAS]domain1.adminServer>modify-dynamic-servers cluster1 -count 3
    Successfully performed the MODIFY operation for Dynamic servers configuration in the cluster (cluster1).
    Check the results using "modify-dynamic-servers or show-dynamic-servers".

4.2.4.30. pack-domain

도메인 백업을 이용한 장애 극복을 위해 특정 도메인 폴더를 압축하는 명령어이다.

  • alias

    packdomain

  • 사용법

    pack-domain <domain-name> 
               [-p <dir-path>]
               [-node <node-name>]
  • 파라미터

    파라미터설명
    <domain-name>도메인의 이름이다.
    [-p <dir-path>]

    압축 파일의 경로이다.

    (기본값: JEUS_HOME/backups/<domain-name>_packed.zip)

    [-node <node-name>]

    원격 노드에 압축 파일을 저장하기 위한 노드 이름이다.

    이 옵션을 사용하기 위해서는 jeusadmin과 DAS가 연결되어 있어야 하고, 원격 노드에 노드매니저가 켜져 있어야 한다.

  • 예제

    offline>pack-domain domain1
    Packing the domain [domain1] configuration completed successfully at the path [JEUS_HOME/backups/domain1_packed.zip]. 
  • 참고

    본 명령어는 서버에 접속하지 않은 상태에서도 사용할 수 있으나, -node 옵션을 사용하려면 DAS에 접속한 상태에서만 사용할 수 있다.

4.2.4.31. remove-cluster

동적으로 클러스터를 삭제한다.

  • 사용법

    remove-cluster [<cluster-name>]
                   [-f,--forceLock]
                   [-detail]
  • 파라미터

    파라미터설명
    [<cluster-name>]클러스터의 이름이다.
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-detail]동적 변경 결과에 대한 상세한 정보가 출력된다.
  • 예제

    • 현재 존재하는 클러스터 확인

      [DAS]domain1.adminServer>list-clusters
      List of Clusters
      ===================================================================
      +----------+------------------------+-------+-----------+---------+
      |  Cluster |       Server List      |  MEJB | Class FTP | Running |
      +----------+------------------------+-------+-----------+---------+
      | cluster1 | server1, server2       | false | false     | true    |
      +----------+------------------------+-------+-----------+---------+
      | cluster2 | server3, server4       | true  | true      | true    |
      +----------+------------------------+-------+-----------+---------+
      ===================================================================
    • 현재 존재하는 클러스터 리스트에서 삭제할 클러스터 이름 확인 후 클러스터 삭제

      [DAS]domain1.adminServer>remove-cluster cluster2
      Successfully performed the REMOVE operation for cluster (cluster1).
      Check the results using "list-clusters or remove-cluster"

4.2.4.32. remove-custom-resource

동적으로 custom resource를 삭제한다.

  • alias

    removecr, rmcr

  • 사용법

    remove-custom-resource [<export-name>]
                           [-f,--forceLock]
                           [-detail]
  • 파라미터

    파라미터설명
    [<export-name>]제거할 custom resource의 JNDI 바인드 이름이다.
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-detail]동적 변경 결과에 대한 상세한 정보가 출력된다.
  • 예제

    [DAS]domain1.adminServer>remove-custom-resource custom/dog 
    Successfully performed the REMOVE operation for A custom resource.
    Check the results using "list-custom-resources or remove-custom-resource"

4.2.4.33. remove-custom-resource-from-clusters

클러스터에 등록된 custom resource를 동적으로 삭제한다. DAS-MS 구조에서만 수행 가능한 명령어이다.

  • alias

    remove-cr-from-clusters

  • 사용법

    remove-custom-resource-from-clusters <export-name>
                           -clusters <cluster-list>
                           [-f,--forceLock]
                           [-detail]
  • 파라미터

    파라미터설명
    <export-name>클러스터에서 제거할 custom resource의 JNDI 바인드 이름이다.
    -cluster <cluster-list>custom resource를 제거할 cluster list를 설정한다.
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-detail]동적 변경 결과에 대한 상세한 정보가 출력된다.
  • 예제

    [DAS]domain1.adminServer>remove-custom-resource-from-clusters custom/dog -clusters cluster1 
    Successfully performed the REMOVE operation for A custom resource.
    Check the results using "list-custom-resources"

4.2.4.34. remove-data-sources-from-cluster

클러스터에 등록된 데이터소스들을 동적으로 제거한다. DAS-MS 구조에서만 수행 가능한 명령어이다.

  • alias

    rmdsfromcluster

  • 사용법

    remove-data-sources-from-cluster -cluster <cluster-name>
                                     [-ids <data-source-id-list> | -all]
                                     [-f,--forceLock]
                                     [-detail]
  • 파라미터

    파라미터설명
    -cluster <cluster-name>데이터소스를 제거할 클러스터의 이름이다.
    [-ids <data-source-id-list> ]

    클러스터로부터 제거할 데이터소스들의 ID 목록이다.

    한 개 이상인 경우 콤마(,)로 구분한다.

    [ -all]클러스터에 등록된 모든 데이터소스를 제거한다.
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-detail]동적 변경 결과에 대한 상세한 정보가 출력된다.
  • 예제

    [DAS]domain1.adminServer>remove-data-sources-from-cluster -cluster cluster1 -all
    Successfully performed the REMOVE operation for data sources from the cluster [cluster1].
    Check the results using "remove-data-sources-from-cluster -cluster cluster1"

4.2.4.35. remove-external-resource

동적으로 external resource를 삭제한다.

  • alias

    removecr, rmcr

  • 사용법

    remove-external-resource [<export-name>]
                           [-f,--forceLock]
                           [-detail]
  • 파라미터

    파라미터설명
    [<export-name>]제거할 external resource의 이름이다.
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-detail]동적 변경 결과에 대한 상세한 정보가 출력된다.
  • 예제

    [DAS]domain1.adminServer>remove-external-resource test/ext 
    Successfully performed the REMOVE operation for A external resource.
    Check the results using "list-external-resources or remove-external-resource"

4.2.4.36. remove-external-resource-from-clusters

클러스터에 등록된 external resource를 동적으로 삭제한다. DAS-MS 구조에서만 수행 가능한 명령어이다.

  • alias

    remove-er-from-clusters

  • 사용법

    remove-external-resource-from-clusters <export-name>
                           -clusters <cluster-list>
                           [-f,--forceLock]
                           [-detail]
  • 파라미터

    파라미터설명
    <export-name>클러스터에서 제거할 external resource의 이름이다.
    -clusters <cluster-list>external resource를 제거할 cluster list를 설정한다.
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-detail]동적 변경 결과에 대한 상세한 정보가 출력된다.
  • 예제

    [DAS]domain1.adminServer>remove-external-resource-from-clusters test/ext -clusters cluster1 
    Successfully performed the REMOVE operation for A external resource.
    Check the results using "list-external-resources"

4.2.4.37. remove-server

동적으로 특정 서버를 삭제한다.

  • 사용법

    remove-server [<server-name>]
                  [-f,--forceLock]
                  [-detail]
  • 파라미터

    파라미터설명
    [<server-name>]서버의 이름이다.
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-detail]동적 변경 결과에 대한 상세한 정보가 출력된다.
  • 예제

    • 현재 존재하는 서버 리스트 확인

      [DAS]domain1.adminServer>server-info
      Information about Domain (domain1)
      ================================================================================
      +-------+---------+-----+-----+-----+------------+--------+-----------+--------+
      | Server|  Status |Node | PID | Clu |   Latest   |  Need  |   Listen  |Running |
      |       |         |Name |     |ster | Start Time |   to   |   Ports   |Engines |
      |       |         |     |     |     | / Shutdown |Restart |           |        |
      |       |         |     |     |     |    Time    |        |           |        |
      +-------+---------+-----+-----+-----+------------+--------+-----------+--------+
      | admin | RUNNING | nod | 130 | N/A | 2016-08-26 | false  | base-0.0. | jms,   |
      |Server |(00:04:2 |e1   |83   |     | (금) 오전   |        |0.0:9736   |ejb, web|
      |(*)    |8)       |     |     |     |09:20:44 KST|        | http-serv |        |
      |       |         |     |     |     |            |        |er-0.0.0.0 |        |
      |       |         |     |     |     |            |        |:8088      |        |
      |       |         |     |     |     |            |        | jms-0.0.0 |        |
      |       |         |     |     |     |            |        |.0:9741    |        |
      +-------+---------+-----+-----+-----+------------+--------+-----------+--------+
      | serve | RUNNING | nod | 132 | N/A | 2016-08-26 | false  | base-0.0. | jms,   |
      |r1     |(00:02:4 |e1   |75   |     | (금) 오전   |        |0.0:9836   |ejb, web|
      |       |5)       |     |     |     |09:22:28 KST|        |           |        |
      +-------+---------+-----+-----+-----+------------+--------+-----------+--------+
      | serve | SHUTDOWN| nod | N/A | N/A | N/A        | N/A    | N/A       | N/A    |
      |r2     |         |e1   |     |     |            |        |           |        |
      +-------+---------+-----+-----+-----+------------+--------+-----------+--------+
      ================================================================================
    • 삭제할 서버가 종료되어 있는지 확인 후 삭제

      [DAS]domain1.adminServer>remove-server server2 
      Successfully performed the REMOVE operation for server (server1).
      Check the results using "list-servers or remove-server"

4.2.4.38. remove-servers-from-cluster

동적으로 특정 클러스터에서 특정 서버를 삭제한다. DAS-MS 구조에서만 수행 가능한 명령어이다.

  • 사용법

    remove-servers-from-cluster <cluster-name> 
                                [-servers <server-lists>]
                                [-f,--forceLock]
                                [-detail]
  • 파라미터

    파라미터설명
    <cluster-name>클러스터의 이름이다.
    [-servers <server-lists>]

    이 클러스터에서 제거하려는 서버의 이름이다.

    서버가 한 개 이상인 경우는 콤마(,)로 구분한다.

    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-detail]동적 변경 결과에 대한 상세한 정보가 출력된다.
  • 예제

    [DAS]domain1.adminServer>remove-servers-from-cluster cluster1 -servers server1
    Successfully performed the REMOVE operation for The server list for cluster(cluster1)..
    Check the results using "list-clusters cluster1 or remove-servers-from-cluster cluster1"

4.2.4.39. set-domain-backup

도메인 백업을 이용한 장애 극복을 위해 DAS가 기동할 때 도메인 자동 백업을 설정하는 동적 On-line 명령어이다.

  • alias

    domain-backup

  • 사용법

    set-domain-backup [-backupOnBoot <backup-on-boot>]
                      [-backupDir <backup-directory>]
                      [-nodeName <nodeName>]
                      [-f,--forceLock]
                      [-detail]
  • 파라미터

    파라미터설명
    [-backupOnBoot <backup-on-boot>]DAS를 기동할 때 백업 파일을 생성할지에 대한 설정이다. (true|false) (기본값: false)
    [-backupDir <backup-directory>]

    DAS 백업 파일을 만들 디렉터리이다.

    디렉터리가 도메인 내의 위치로 설정될 경우, 백업의 대상에서 제외된다. NodeName이 설정된 경우에는 해당 노드의 디렉터리를 의미한다.

    (기본값: JEUS_HOME/backups)

    [-nodeName <nodeName>]

    백업 파일이 위치할 노드를 설정한다.

    이 값이 설정된 경우에는 backupDir이 해당 노드 내의 디렉터리를 의미하게 된다. 만약 설정된 노드로의 전송에 실패한 경우에는 로컬 노드의 domains home 디렉터리에 위치하게 된다.

    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-detail]동적 변경 결과에 대한 상세한 정보가 출력된다.
  • 예제

    offline>set-domain-backup -backupOnBoot true
    Successfully performed the MODIFY operation for Domain Backup Policy.
    Check the results using "set-domain-backup"

4.2.4.40. show-dynamic-servers

동적 서버 생성으로 만들어진 클러스터의 설정 정보를 보여준다. DAS-MS 구조에서만 수행 가능한 명령어이다.

  • alias

    showdservers

  • 사용법

    show-dynamic-servers <cluster-name>
  • 파라미터

    파라미터설명
    <cluster-name>동적 설정 서버의 정보를 볼 클러스터 이름을 지정한다.
  • 예제

    [DAS]domain1.adminServer>show-dynamic-servers cluster1
    Shows the current configuration.
    Dynamic servers configuration in the cluster (cluster1)
    ====================================================================
    +----------------------------------------------------------+-------+
    | Server Count                                             | 2     |
    | Nodes                                                    | node1 |
    | Base Listen Port                                         | 9736  |
    | HTTP Listen Port                                         | 8088  |
    | JMS Listen Port                                          | 9741  |
    | Server Template Name                                     | temp1 |
    | Listen Port Step                                         | 100   |
    +----------------------------------------------------------+-------+
    ====================================================================

4.2.4.41. show-server-template

설정된 서버 템플릿의 리스트를 조회한다. DAS-MS 구조에서만 수행 가능한 명령어이다.

  • alias

    show-template

  • 사용법

    show-server-template [<server-template-name>]
  • 파라미터

    파라미터설명
    [<server-template-name>]설정된 템플릿의 정보를 조회한다.
  • 예제

    offline>show-server-template temp1
    Shows the current configuration.
    server template (temp1)
    =====================================================================
    +---------------------------------------------------------+---------+
    | Action On Resource Leak                                 | WARNING |
    | Stdout to Raw Format                                    | true    |
    | MEJB                                                    | false   |
    | Class FTP                                               | false   |
    | Server Log Home Directory                               | none    |
    +---------------------------------------------------------+---------+
    =====================================================================

4.2.4.42. unpack-domain

서버에 장애가 생겼을 때, pack-domain에 의해 압축된 파일을 해제하는 명령어이다. 해당 도메인 설정에 DAS의 동작 주소와 동작 포트 번호가 설정된 경우와 DAS의 노드이름이 노드 설정에 설정된 경우 변경 여부를 설정할 수 있다.

  • alias

    unpackdomain

  • 사용법

    unpack-domain -p <file-path> | <domain-name>
                  [-delete]
                  [-overwrite]
                  [-dasurl <das-url>]
                  [-nodename <node-name>]
                  [-nodeurl <node-url>]
  • 파라미터

    파라미터설명
    -p <file-path>

    압축을 풀 파일의 경로이다.

    (예: DOMAIN_HOME/<domain-name>_packed.zip)

    <domain-name>

    압축을 풀 파일의 대상 도메인을 지정한다.

    압축을 풀 파일은 반드시 JEUS_HOME/backups 디렉터리 안에 있어야 한다.

    [-delete]Unpack을 하려는 대상 도메인이 DOMAIN_HOME에 이미 존재하면 기존 도메인을 삭제하고 unpack을 진행하도록 한다.
    [-overwrite]Unpack을 하려는 대상 도메인이 DOMAIN_HOME에 이미 존재하면 unpack하려는 도메인이 기존 도메인을 덮어쓰도록 한다.
    [-dasurl <das-url>]Unpack을 진행하는 노드에서 연결할 DAS의 URL이다.
    [-nodename <node-name>]Unpack을 하려는 노드의 노드 이름이다.
    [-nodeurl <node-url>]Unpack을 하려는 노드의 노드 URL이다.
  • 예제

    offline>unpack-domain domain1
    The Domain Administration Server listener address is already set to [192.168.34.55]. Do you want to change it? (y/n): y
    Enter the Domain Administration Server base listener address: 192.168.34.56
    The Domain Administration Server listener port is already set to [9736]. Do you want to change it? (y/n): n
    The Domain Administration Server nodename is already set to [node1]. Do you want to change it? (y/n): y
    Enter the Domain Administration Server nodename: node2
    The nodemanager of DAS machine listener address is already set to [192.168.34.56]. Do you want to change it? (y/n): n
    The nodemanager of DAS machine listener port is already set to [7730]. Do you want to change it? (y/n): n
    Unpacking the domain [domain1] configuration completed successfully.

4.2.5. Thread Management 관련 명령어

Thread Management 관련 명령어의 목록은 다음과 같다.

명령어설명
interrupt-thread서블릿 또는 EJB RMI Thread에 인터럽트 시그널을 전송한다.
modify-service-thread-pool동적으로 특정 서버의 특정 서비스의 전용 Thread Pool을 변경한다.
modify-system-thread-pool동적으로 특정 서버의 System Thread Pool을 변경한다.
print-stack-traceServlet Thread 또는 EJB RMI Thread의 Stack Trace를 출력한다.
show-service-thread-poolSystem Thread Pool에서 특정 서비스에 할당된 Thread의 정보를 조회한다.
show-system-thread-poolSystem Thread Pool의 정보를 조회한다.
thread-info요청을 처리하는 Servlet Thread와 EJB RMI Thread의 정보를 조회한다.

4.2.5.1. interrupt-thread

서블릿 또는 EJB RMI Thread에 인터럽트 시그널을 전송한다. Thread에 인터럽트 시그널을 보냈을 때의 결과에 대한 자세한 설명은 JEUS Server 안내서”의 “3.3. Thread 모니터링 및 제어”를 참고한다.

주의

이 기능은 인터럽트 신호만 보내는 것이므로 그 Thread가 반드시 동작을 멈춘다고 보장할 수 없다.

  • alias

    interruptthread, interrupt, intthread

  • 사용법

    interrupt-thread -server <server-name>
                    -li <listener-id> | <thread-id>
  • 파라미터

    파라미터설명
    -server <server-name>서버의 이름이다.
    -li <listener-id>웹 리스너의 이름이다. 웹 리스너가 가지고 있는 Thread Pool 전체 Thread에 인터럽트 신호를 보낸다.
    <thread-id>시그널을 전송할 Thread의 ID이다.
  • 예제

    [DAS]domain1.adminServer>interrupt-thread -server server1 50 
    Sent an interrupt hint signal to the thread [tid=50] on the server server1. 

4.2.5.2. modify-service-thread-pool

동적으로 서비스의 전용 Thread Pool을 변경한다. 현재 통합 설정을 사용하고 있는 naming server, scheduler, transaction Thread Pool만 이 명령어로 변경 가능하다. 변경할 설정을 입력하지 않으면 현재 설정을 조회한다.

  • alias

    modify-svctp, modifysvctp, svctpconfig, svctpconf

  • 사용법

    modify-service-thread-pool -service <service name> 
                       <server-name> 
                       [-min <min>]
                       [-max <max>]
                       [-k,--keepalivetime <keep-alive-time>]
                       [-q,--queuesize <queue-size>]
                       [-m,--maxstuckthreadtime <max-stuck-thread-time>]
                       [-a,--actiononstuckthread <action-on-stuck-thread>]
                       [-stcp,--stuckthreadcheckperiod <stuck-thread-check-period>]
                       [-f,--forceLock]
                       [-detail]
  • 파라미터

    파라미터설명
    -service <service name>

    System Thread Pool을 사용하는 서비스의 이름이다.

    <service name>에 다음 중에 하나를 선택한다.

    • transaction

    • scheduler

    • namingserver

    <server-name>서버의 이름이다.
    [-min <min>][동적 변경] Thread Pool의 최소 Thread 개수이다.
    [-max <max>][동적 변경] Thread Pool의 최대 Thread 개수이다.
    [-k,--keepalivetime <keep-alive-time>][동적 변경] 최소 Thread 개수를 초과하는 경우 입력한 시간 이상 idle 상태인 Thread는 삭제한다.
    [-q,--queuesize <queue-size>]실행 대기하는 worker의 최대 개수이다.
    [-m,--maxstuckthreadtime <max-stuck-thread-time>][동적 변경] 입력한 시간 이상으로 Thread가 수행되고 있으면 STUCK 상태라고 판단한다.
    [-a,--actiononstuckthread <action-on-stuck-thread>]

    [동적 변경] STUCK 상태일 경우의 처리 방법이다.

    <action-on-stuck-thread>에 다음 중에 하나를 설정한다.

    • IgnoreAndReplace

    • Interrupt

    • None

    [-stcp,--stuckthreadcheckperiod <stuck-thread-check-period>][동적 변경] Thread들이 STUCK 상태임을 확인하는 주기를 설정한다. (단위: ms)
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-detail]동적 변경 결과에 대한 상세한 정보가 출력된다.
  • 예제

    [DAS]domain1.adminServer>modify-service-thread-pool server1 -service transaction -min 10 -max 20 
    Successfully performed the MODIFY operation for The transaction thread pool of the 
    server (server1)., but all changes were non-dynamic. They will be applied after 
    restarting.
    Check the results using "show-service-thread-pool server1 -service transaction or 
    modify-service-thread-pool server1 -service transaction"

4.2.5.3. modify-system-thread-pool

동적으로 System Thread Pool을 변경한다. System Thread Pool을 사용하고 있는 서비스들의 할당된 Thread 개수도 설정할 수 있다.

  • alias

    modify-systp, modifysystp, systpconfig, systpconf

  • 사용법

    modify-system-thread-pool <server-name>
             [-min <min>]
             [-max <max>]
             [-k,--keepalivetime <keep-alive-time>]
             [-q,--queuesize <queue-size>]
             [-m,--maxstuckthreadtime <max-stuck-thread-time>]
             [-a,--actiononstuckthread <action-on-stuck-thread>]
             [-stcp,--stuckthreadcheckperiod <stuck-thread-check-period>]
             [-service <service name>]
             [-r,--reservednum <reserved-number>]
             [-f,--forceLock]
             [-detail]
  • 파라미터

    파라미터설명
    <server-name>서버의 이름이다.
    [-min <min>][동적 변경] Thread Pool의 최소 Thread 개수이다.
    [-max <max>][동적 변경] Thread Pool의 최대 Thread 개수이다.
    [-k,--keepalivetime <keep-alive-time>][동적 변경] 최소 Thread 개수를 초과하는 경우 입력한 시간 이상 idle 상태인 Thread는 삭제한다.
    [-q,--queuesize <queue-size>]실행 대기하는 worker의 최대 개수이다.
    [-m,--maxstuckthreadtime <max-stuck-thread-time>][동적 변경] 입력한 시간 이상으로 Thread가 수행되고 있으면 STUCK 상태라고 판단한다.
    [-a,--actiononstuckthread <action-on-stuck-thread>]

    [동적 변경] STUCK 상태일 경우의 처리 방법이다.

    <action-on-stuck-thread>에 다음 중에 하나를 선택한다.

    • IgnoreAndReplace

    • Interrupt

    • None

    [-stcp,--stuckthreadcheckperiod <stuck-thread-check-period>][동적 변경] Thread들이 STUCK 상태임을 확인하는 주기를 설정한다. (단위: ms)
    [-service <service-name>]

    System Thread Pool을 사용하는 서비스의 이름이다.

    <service name>에 다음 중에 하나를 선택한다.

    • transaction

    • scheduler

    • namingserver

    [-r,--reservednum <reserved-number>][동적 변경] System Thread Pool을 사용하는 서비스에 보장되는 최소 Thread 개수이다.
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-detail]동적 변경 결과에 대한 상세한 정보가 출력된다.
  • 예제

    [DAS]domain1.adminServer>modify-system-thread-pool server1 -min 10 -max 60 -service transaction -reservednum 20 -detail
    Successfully performed the MODIFY operation for the system thread pool of the server (server1).
    ================================================================================
    +-----------------------------------------------------------+-------+----------+
    | servers.server.{? name == 'server1' }.systemThreadPool    | MODIFY| ACTIVATED|
    | servers.server.{? name == 'server1' }.tmConfig            | MODIFY| ACTIVATED|
    +-----------------------------------------------------------+-------+----------+
    ================================================================================
    Check the results using "modify-system-thread-pool server1 or show-system-thread -pool server1"
    ------------------details-------------------
    servers.server.{? name == 'server1' }.tmConfig : ACTIVATED 
    servers.server.{? name == 'server1' }.tmConfig.pooling : ACTIVATED 
    servers.server.{? name == 'server1' }.tmConfig.pooling.shared : ACTIVATED 
    servers.server.{? name == 'server1' }.tmConfig.pooling.shared.reservedThreadNum : ACTIVATED
      previous value : 0, edited value : 20, result value : 20 
    servers.server.{? name == 'server1' }.systemThreadPool : ACTIVATED 
    servers.server.{? name == 'server1' }.systemThreadPool.min : ACTIVATED 
      previous value : 0, edited value : 10, result value : 10 
    servers.server.{? name == 'server1' }.systemThreadPool.max : ACTIVATED 
      previous value : 100, edited value : 60, result value : 60

4.2.5.4. print-stack-trace

Servlet Thread 또는 EJB RMI Thread의 Stack Trace를 출력한다.

  • alias

    stacktrace, strace

  • 사용법

    print-stack-trace -server <server-name>
                      -li <listener-id> | <thread-id>
  • 파라미터

    파라미터설명
    -server <server-name>서버의 이름이다.
    [-li <listener-id>]웹 리스너의 이름이다. 웹 리스너가 가지고 있는 Thread Pool 전체 Thread의 Stack Trace를 보여준다.
    [<thread-id>]Thread의 ID이다.
  • 예제

    [DAS]domain1.adminServer>print-stack-trace -server server1 50
    servlet thread [tid=50] Stack trace of http1-1 [server1-50] tid=50 java.lang.Thread.State: WAITING
     at sun.misc.Unsafe.park(Native Method)
     at java.util.concurrent.locks.LockSupport.park(LockSupport.java:156)
     at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987)
     at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399)
     at jeus.util.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1291)
     at jeus.servlet.engine.WebThreadPoolExecutor.getTask(WebThreadPoolExecutor.java:68)
     at jeus.util.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:1215)
     at jeus.servlet.engine.WebThreadPoolExecutor$WebRequestWorker.run(WebThreadPoolExecutor.java:332)
     at java.lang.Thread.run(Thread.java:662)

4.2.5.5. show-service-thread-pool

특정 서버의 System Thread Pool을 정보를 확인한다.

  • alias

    show-svctp, showsvctp

  • 사용법

    show-service-thread-pool <server-name> 
                             -service <service name>
  • 파라미터

    파라미터설명
    <server-name>서버의 이름이다.
    -service <service name>

    서비스의 이름이다.

    <service name>에 다음 중에 하나를 선택한다.

    • transaction

    • scheduler

    • namingserver

  • 예제

    [DAS]domain1.adminServer>show-service-thread-pool server1 -service transaction  
    Shows the current configuration.
    =====================================================================
    +----------------------------------------------------------+--------+
    | Min                                                      | 10     |
    | Max                                                      | 20     |
    | Keep-Alive Time                                          | 60000  |
    | Queue Size                                               | 4096   |
    | Max Stuck Thread Time                                    | 3600000|
    | Action On Stuck Thread                                   | NONE   |
    | Stuck Thread Check Period                                | 300000 |
    +----------------------------------------------------------+--------+
    =====================================================================

4.2.5.6. show-system-thread-pool

특정 서버의 System Thread Pool 정보를 확인한다.

  • alias

    show-systp, showsystp

  • 사용법

    show-system-thread-pool <server-name>
                            [-service <service name>]
  • 파라미터

    파라미터설명
    <server-name>서버의 이름이다.
    [-service <service name>]

    서비스의 이름이다.

    <service name>에 다음 중에 하나를 선택한다.

    • transaction

    • scheduler

    • namingserver

  • 예제

    [DAS]domain1.adminServer>show-system-thread-pool server1 
    Shows the current configuration.
    the system thread pool of the server (server1).
    ======================================================================
    +------------------------------------------------------------+-------+
    | Min                                                        | 10    |
    | Max                                                        | 60    |
    | Keep-Alive Time                                            | 300000|
    | Queue Size                                                 | 4096  |
    | Max Stuck Thread Time                                      | 0     |
    | Action On Stuck Thread                                     | NONE  |
    | Stuck Thread Check Period                                  | 300000|
    | Reserved Threads for the Service transaction               | 0     |
    +------------------------------------------------------------+-------+
    ======================================================================

4.2.5.7. thread-info

요청을 처리하는 Servlet Thread와 EJB RMI Thread의 정보 및 그 외의 JEUS Thread Pool들을 조회한다.

Servlet에서는 리스너의 Thread Pool과 각 작업 Thread(Worker Thread)에 대한 정보를 조회하며, EJB에서는 EJB 리모트 요청을 처리하는 EJB RMI Thread의 정보를 출력한다. JMS에서는 jms에서 사용하는 스레드 정보를 출력한다. 서버에서는 기본적으로 서버 Thread Pool에 대한 정보만을 조회하며 옵션에 따라 모든 Pool 정보를 볼 수도 있다.

  • alias

    threadinfo, ti

  • 사용법

    thread-info -server <server-name>
                [-type <thread-type>] 
                [-li <listener-id> | -ctx <context-name>] 
                [-r,--request | -a,--all] 
                [-s <thread-state>]
                [-os,--only-stats]
                [-st,--stacktrace]
  • 파라미터

    파라미터설명
    -server <server-name>서버의 이름이다.
    [-type <thread-type>]

    <thread-type>에 다음 중에 하나를 입력한다.

    • servlet : Servlet Thread

    • ejb : EJB RMI Thread

    • jms : JMS Thread

    • server : Server Thread Pool

    이외에도 -ctx 옵션이 지정된 경우 다음의 값을 입력한다.

    • webasync : Servlet 3.0 Async Processing을 위한 Thread Pool

    • websocket : WebSocket Container의 Async Send를 위한 Thread Pool

    [-li <listener-id>]특정 리스너를 지정한다. Servlet Thread에서만 유효하다.
    [-ctx <context-name>]특정 웹 컨텍스트를 지정한다. Servlet Thread에서만 유효하다. Asynchronout Servlet을 지정할 경우 Asynchronous Processing을 위한 Thread Pool의 정보를 보여준다.
    [-r,--request ]

    Servlet Thread의 요청 정보만을 확인한다.

    Servlet Thread에 대해서만 유효하다.

    [ -a,--all]Servlet에서는 Servlet Thread의 모든 정보를 확인하며 서버에서는 JEUS 내부적인 모든 pool의 정보 확인을 의미한다.
    [-s <thread-state>]

    특정 상태의 Thread만 조회하는 경우 그 상태를 입력한다.

    • active

    • idle

    • blocked

    • reconn

    [-os,--only-stats]Servlet에서는 각 리스너별 통계 정보만을 출력한다. 서버에서는 pool의 통계 정보만을 출력한다.
    [-st,--stacktrace]서버에서 조회한 Pool들에 속한 모든 Active Threads(실제 task를 부여받고 수행 중인 Thread)의 trace를 조회한다. 서버에서만 유효하다.
  • 예제

    [DAS]domain1.adminServer>thread-info -server server1
    
    Thread information for the server [server1]
    There are no EJB RMI threads for the server [server1].
    =============================================================
    The web container threads for 'ADMIN-HTTP' listener.
    
    +----+------------------------------+--------+---------+----+
    | tid|             name             |  state | elapsed | uri|
    +----+------------------------------+--------+---------+----+
    | 45 | ADMIN-HTTP-w00               | waiting| 48521870|    |
    +----+------------------------------+--------+---------+----+
    
    elsapsed: Elapsed time (ms)
    =============================================================
    
    ===================================================================
    Thread statistics for the 'ADMIN-HTTP' listener.
    
    +---------------------------+------+-------+-----+--------+-------+
    |                           | total| active| idle| blocked| reconn|
    +---------------------------+------+-------+-----+--------+-------+
    | The number of threads.    |    1 |     0 |   1 |      0 |     0 | 
    +---------------------------+------+-------+-----+--------+-------+
    
    total = active + idle, reconn: reconnecting
    ===================================================================
    
    =====================================================
    The web container threads for 'http1' listener.
    
    +------+--------------------+--------+---------+----+
    |  tid |        name        |  state | elapsed | uri|
    +------+--------------------+--------+---------+----+
    |   46 | http1-w00          | waiting| 48521873|    |
    |   47 | http1-w01          | waiting| 48521868|    |
    |   48 | http1-w02          | waiting| 48521868|    |
    |   49 | http1-w03          | waiting| 48521868|    |
    |   51 | http1-w05          | waiting| 48521862|    |
    |   52 | http1-w06          | waiting| 48521858|    |
    |   53 | http1-w07          | waiting| 48521858|    |
    |   54 | http1-w08          | waiting| 48521857|    |
    |   55 | http1-w09          | waiting| 48521857|    |
    | 21203| http1-w10          | waiting|   37629 |    |
    +------+--------------------+--------+---------+----+
    
    elsapsed: Elapsed time (ms)
    =====================================================
    
    ===================================================================
    +---------------------------+------+-------+-----+--------+-------+
    |                           | total| active| idle| blocked| reconn|
    +---------------------------+------+-------+-----+--------+-------+
    | The number of threads.    |   10 |     0 |  10 |      0 |     0 |
    +---------------------------+------+-------+-----+--------+-------+
    
    total = active + idle, reconn: reconnecting
    ===================================================================
    
    ======================================================================
    The threads for the 'threadpool.System' thread pool.
    
    +-----+------------------------------+---------------+---------------+
    | tid |             name             |  thread state | active thread |
    +-----+------------------------------+---------------+---------------+
    |  93 | threadpool.System-2          | TIMED_WAITING | false         |
    |  92 | threadpool.System-1          | TIMED_WAITING | false         |
    |  94 | JMXMP [adminServer-94]       | RUNNABLE      | true          |
    +-----+------------------------------+---------------+---------------+
    ======================================================================
    
    ================================================================================
    The statistics for the 'threadpool.System' thread pool.
    
    +-----------+-----------+-----------+-----------+----------+-------------------+
    | pool name |  minimum  |  maximum  |  current  |   work   |   remaining work  |
    |           | pool size | pool size | pool size |queue size|    queue size     |
    +-----------+-----------+-----------+-----------+----------+-------------------+
    | threadpool|         0 |       100 |         3 |     4096 |              4096 |
    |.System    |           |           |           |          |                   |
    +-----------+-----------+-----------+-----------+----------+-------------------+
    ================================================================================
    

4.2.6. Application 관련 명령어

애플리케이션 관련 명령어의 목록은 다음과 같다.

명령어설명
add-application-repository새로운 애플리케이션 저장소를 등록한다.
add-application-targetdeploy되어 있는 애플리케이션의 Target에 서버나 클러스터를 추가한다. 해당 서버나 클러스터에 해당 애플리케이션을 deploy한다. DAS-MS 구조에서만 수행 가능한 명령어이다.
application-info도메인에 존재하는 애플리케이션의 정보를 확인한다.
deploy-application

설치한 애플리케이션을 Target 서버로 deploy한다.

Target으로 지정된 서버 중 하나라도 deploy가 실패하면 성공한 서버에도 undeploy를 수행한다.

deploy-library설치되어 있는 라이브러리 파일을 서버나 클러스터를 대상으로 하여 배포한다.
deployment-plan-info설치되어 있는 Deployment Plan의 정보를 확인한다.
distribute-application

설치된 애플리케이션을 각 서버나 클러스터로 배포한다.

파일 배포 기능으로 실제 서비스를 위해서는 start-application 명령어로 애플리케이션을 시작해야 한다.

install-application애플리케이션을 설치한다. 애플리케이션의 ID를 정의할 수 있다.
install-deployment-planDeployment Plan을 설치한다. Deployment Plan의 식별자를 정의할 수 있다.
install-library라이브러리 파일을 설치한다.
library-info설치 및 배포한 라이브러리들에 대한 정보를 출력한다.
list-application-repositories등록되어 있는 애플리케이션 저장소들의 정보를 확인한다.
redeploy-application특정 애플리케이션을 다시 deploy한다.
remove-application-repository등록되어 있는 애플리케이션 저장소를 삭제한다.
remove-application-target특정 서버나 특정 클러스터에 deploy 또는 배포된 애플리케이션을 해당 서버나 클러스터에서 제거한다. DAS-MS 구조에서만 수행 가능한 명령어이다.
start-application배포된 애플리케이션의 서비스를 시작한다.
stop-application서비스 중인 애플리케이션을 정지시킨다.
undeploy-applicationdeploy된 애플리케이션을 undeploy한다.
uninstall-application설치되어 있는 애플리케이션을 제거한다.
uninstall-deployment-plan설치되어 있는 Deployment Plan을 제거한다.
undeploy-librarydeploy한 라이브러리를 undeploy한다.
uninstall-library설치되어 있는 라이브러리 파일을 삭제한다.

4.2.6.1. add-application-reporitory

새로운 애플리케이션 저장소(Reporitory)를 추가한다.

  • alias

    addapprepo, installapps

  • 사용법

    add-application-repository [<application-repository-path>]
                [-f,--forceLock] 
                [-detail]
  • 파라미터

    파라미터설명
    <application-repository-path>추가하려고 하는 애플리케이션 저장소의 절대 경로이다.
    [-f, --forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-detail]정보를 상세히 출력할 때 사용한다.
  • 예제

    [DAS]domain1.adminServer>add-application-repository /home/user1/apps
    Successfully performed the ADD operation for An application repository.
    Check the results using "add-application-repository or list-application-repositories"

4.2.6.2. add-application-target

deploy되어 있는 애플리케이션의 Target에 서버나 클러스터를 추가한다. 해당 서버나 클러스터에 해당 애플리케이션을 deploy한다. 해당 애플리케이션이 DEPLOYED, DISTRIBUTED, RUNNING 상태일 때만 명령어를 사용할 수 있다. DAS-MS 구조에서만 수행 가능한 명령어이다.

  • alias

    addapptarget, addtarget

  • 사용법

    add-application-target <application-id>
                           [-servers <server-list>]
                           [-clusters <cluster-list>]
                           [-vh,--virtualHost <virtual-host>]
  • 파라미터

    파라미터설명
    <application-id>

    Target을 추가하려고 하는 애플리케이션의 ID이다.

    해당 애플리케이션이 DEPLOYED, DISTRIBUTED, RUNNING 상태일 때만 명령어를 사용할 수 있다.

    [-servers <server-list>]애플리케이션을 추가할 서버의 이름들이다. 서버 이름은 콤마(,)로 구분한다.
    [-clusters <cluster-list>]애플리케이션을 추가할 클러스터의 이름들이다. 클러스터 이름은 콤마(,)로 구분한다.
    [-vh,--virtualHost <virtual-host>]가상 호스트 이름을 지정한다.
  • 예제

    [DAS]domain1.adminServer>add-application-target myApp -servers server1 
    add a target server or cluster to the application for the application [deployment_helloear] succeeded.

4.2.6.3. application-info

도메인에 존재하는 애플리케이션의 정보를 확인한다.

  • alias

    appinfo, list-applications

  • 사용법

    application-info[-server <server-name>]
                    [-id <application-id> | -state <application-state>]
                    [-type <application-type>]
                    [-module <module-name>]
                    [-bean <bean-name>]
                    [-jndi <jndi-context>]
                    [-mod <jndi-module-name>]
                    [-comp <jndi-component-name>]
                    [-detail,--detail]
                    [-sps,--stateperserver]
  • 파라미터

    파라미터설명
    [-server <server-name>]정보를 확인할 서버의 이름이다. 해당 서버의 애플리케이션 정보를 좀 더 자세히 조회한다.
    [-id <application-id>]정보를 확인할 애플리케이션의 ID이다.
    [-state <application-state>]애플리케이션의 특정 상태를 지정하여 정보를 확인한다.
    [-type <application-type>]

    애플리케이션의 특정 종류를 지정하여 정보를 확인한다.

    <application-type>에 다음 중 하나를 설정한다.

    • EAR

    • EJB

    • WAR

    • CAR

    • RAR

    [-module <module-name>]EAR 내부의 모듈 정보를 확인한다.
    [-bean <bean-name>]

    EJB Bean에 대한 자세한 정보를 조회하기 위해 사용한다.

    server, id, module 정보가 필요하다.

    [-jndi <jndi-context>]

    특정 애플리케이션의 JNDI 정보를 확인한다.

    server, id 정보가 필요하다.

    [-mod <jndi-module-name>]특정 모듈의 JNDI Namespace를 확인한다.
    [-comp <jndi-component-name>]특정 컴포넌트의 Namespace를 확인한다.
    [-detail,--detail]

    stand-alone 모듈의 상세 정보를 조회할 때 사용한다.

    웹 모듈의 경우 서블릿, 필터, 리스너, WebSocket Server Endpoints, EJB Bean(EJB in a .war) 목록이 출력된다.

    [-sps,--stateperserver]

    추가로 각 애플리케이션에 대해 서버별 상태를 출력한다.

    대상 서버가 내려가 있거나 하는 등의 이유로 상태가 없는 경우에는 'NO_STATE'라고 출력한다.

  • 예제

    • 기본적인 출력

      다음은 기본적인 출력 결과물이다.

      [DAS]domain1.adminServer>application-info
      Application information for the domain [domain1].
      ================================================================================
      +----------+-----------+---------+-------------+----------+--------------------+
      | Applicat | Applicati |  State  |    Target   |  Target  |  Application Path  |
      |  ion ID  |  on Type  |         |   Servers   | Clusters |                    |
      +----------+-----------+---------+-------------+----------+--------------------+
      | myApp    | EAR       | RUNNING | adminServer |          | ${INSTALL_HOME}/my |
      |          |           |         |             |          |App/myApp.ear       |
      +----------+-----------+---------+-------------+----------+--------------------+
      | myEJB    | EJB       | RUNNING |             | cluster1 | ${INSTALL_HOME}/my |
      |          |           |         |             |          |EJB/myEJB.jar       |
      +----------+-----------+---------+-------------+----------+--------------------+
      | myWeb    | WAR       | RUNNING | server1,adm |          | ${INSTALL_HOME}/my |
      |          |           |         |inServer     |          |Web/myWeb.war       |
      +----------+-----------+---------+-------------+----------+--------------------+
      ================================================================================
    • stateperserver 옵션을 사용한 경우

      각 애플리케이션에 대한 서버별 상태를 보여주는 것을 확인할 수 있다. 상태를 얻을 수 없는 서버에 대해서는 'NO_STATE'라고 표시한다.

      [DAS]domain1.adminServer>application-info -sps
      Application information for the domain [domain1].
      ================================================================================
      +----------+-----------+---------+-------------+----------+--------------------+
      | Applicat | Applicati |  State  |    Target   |  Target  |  Application Path  |
      |  ion ID  |  on Type  |         |   Servers   | Clusters |                    |
      +----------+-----------+---------+-------------+----------+--------------------+
      | myApp    | EAR       | RUNNING | adminServer |          | ${INSTALL_HOME}/my |
      |          |           |         |             |          |App/myApp.ear       |
      +----------+-----------+---------+-------------+----------+--------------------+
      | myEJB    | EJB       | RUNNING |             | cluster1 | ${INSTALL_HOME}/my |
      |          |           |         |             |          |EJB/myEJB.jar       |
      +----------+-----------+---------+-------------+----------+--------------------+
      | myWeb    | WAR       | RUNNING | server1,adm |          | ${INSTALL_HOME}/my |
      |          |           |         |inServer     |          |Web/myWeb.war       |
      +----------+-----------+---------+-------------+----------+--------------------+
      ================================================================================
      
      Server-specific state information for each application in the domain [domain1]
      ================================================================================
      +-----------+-------------+----------+---------+----------+--------------------+
      | Applicati | Application |   State  |  Server |  Cluster |  Application Path  |
      |   on ID   |     Type    |          |         |          |                    |
      +-----------+-------------+----------+---------+----------+--------------------+
      | myApp     | EAR         | RUNNING  | adminSe |          | ${INSTALL_HOME}/my |
      |           |             |          |rver     |          |App/myApp.ear       |
      +-----------+-------------+----------+---------+----------+--------------------+
      | myEJB     | EJB         | RUNNING  | server2 | cluster1 | ${INSTALL_HOME}/my |
      |           |             |          |         |          |EJB/myEJB.jar       |
      +-----------+-------------+----------+---------+----------+--------------------+
      | myEJB     | EJB         | NO STATE | server3 | cluster1 | ${INSTALL_HOME}/my |
      |           |             |          |         |          |EJB/myEJB.jar       |
      +-----------+-------------+----------+---------+----------+--------------------+
      | myWeb     | WAR         | NO STATE | server1 |          | ${INSTALL_HOME}/my |
      |           |             |          |         |          |Web/myWeb.war       |
      +-----------+-------------+----------+---------+----------+--------------------+
      | myWeb     | WAR         | RUNNING  | adminSe |          | ${INSTALL_HOME}/my |
      |           |             |          |rver     |          |Web/myWeb.war       |
      +-----------+-------------+----------+---------+----------+--------------------+
      ================================================================================

4.2.6.4. deploy-application

설치된 애플리케이션을 Target 서버로 deploy한다. Target으로 지정된 서버 중 하나라도 deploy가 실패하면 성공한 서버에도 undeploy를 수행한다.

  • alias

    deployapp, deploy

  • 사용법

    deploy-application [<application-id>]
                   [-path,--applicationPath <path>]
                   [-servers <server-list>]
                   [-clusters <cluster-list>]
                   [-all]
                   [-vh,--virtualHost <virtual-host>]
                   [-type,--applicationType <application-type>]
                   [-cl,--classloading <classloading-mode>]
                   [-auto,--autoRedeployCheckInterval <auto-redeploy-check-interval>]
                   [-security,--securityDomainName <security-domain-name>]
                   [-fast,--fastDeploy]
                   [-keep,--keepGenerated]
                   [-shared,--sharedDisk]
                   [-u,--upgrade]
                   [-plan,--deploymentPlanName <deployment-plan-name>]
                   [-ctxp,--contextPath <context-path>]
                   [-staging]
                   [-lib,--libraryId <library-IDs>]
                   [-version,--libraryVersion <library-versions>]
                   [-nj,--nodejava]
                   [-con,--concurrent]
  • 파라미터

    파라미터설명
    [<application-id>]애플리케이션을 설치(install-application)할 때 입력한 애플리케이션의 ID이다. 한 개 이상의 애플리케이션을 deploy하려면 콤마(,)를 통해 ID를 구분한다. 파일 경로를 통해 distribute할 때도 애플리케이션에 ID를 부여할 수 있다. 이 경우에는 하나의 경로와 하나의 ID만 올 수 있다.
    [-path,--applicationPath <path>]애플리케이션을 설치하지 않고 파일 경로를 이용할 때 사용한다. DAS와 같은 머신에 있는 파일만 가능하다.
    [-servers <server-list>]애플리케이션을 deploy할 서버들이다. 서버 이름은 콤마(,)로 구분한다.
    [-clusters <cluster-list>]애플리케이션을 deploy할 클러스터들이다. 클러스터 이름은 콤마(,)로 구분한다.
    [-all]도메인에 존재하는 모든 서버에 deploy할 때 지정한다.
    [-vh,--virtualHost <virtual-host>]가상 호스트 주소이다. 웹 엔진에 설정한 가상 호스트 이름 중 하나를 선택한다. 웹 모듈에서만 동작한다.
    [-type,--applicationType <application-type>]

    애플리케이션의 종류를 지정한다.

    <application-type>에 다음 중 하나를 설정한다.

    • EAR

    • EJB

    • WAR

    • CAR

    • RAR

    옵션을 주지 않더라도 DD나 Annotation을 통해 자동으로 지정될 수 있다.

    [-cl,--classloading <classloading-mode>]

    클래스 로딩 형식을 지정한다.

    <classloading-mode>에 다음 중 하나를 설정한다.

    • SHARED

    • ISOLATED (기본값)

    [-auto,--autoRedeployCheckInterval <auto-redeploy-check-interval>]

    애플리케이션을 자동으로 redeploy하기 위한 체크 주기이다.

    (단위: ms)

    [-security,--securityDomainName <security-domain-name>]

    애플리케이션에 적용될 보안 도메인 이름을 선택한다.

    기본값으로 보안 도메인 설정에서 default-application-domain으로 설정된 값이 적용된다.

    [-fast,--fastDeploy]deploy할 때 생성되는 파일을 미리 생성해 놓은 경우 미리 생성된 파일을 사용하여 deploy 속도를 향상시킬지 여부를 설정한다.
    [-keep,--keepGenerated]deploy할 때 생성된 파일을 유지할지 여부를 설정한다.
    [-shared,--sharedDisk]NAS를 사용할 경우 설정한다. 애플리케이션 파일을 복사하지 않도록 하기 위한 옵션이다.
    [-u,--upgrade]미리 설치하지 않은 애플리케이션을 배포할 때 호환성을 위해 JEUS 6 이전 버전의 DD을 JEUS 8 버전에 맞는 형식으로 바꿔주기 위한 옵션이다.
    [-plan,-deploymentPlanName <deployment-plan-name>]Deployment Plan 파일의 이름을 설정하기 위한 옵션이다.
    [-ctxp,--contextPath <context-path>]웹 애플리케이션의 경우 컨텍스트를 설정하기 위한 옵션이다.
    [-staging]Exploded module 형태의 애플리케이션을 압축하여 다른 머신에 전송하기 위한 옵션이다.
    [-lib,--libraryId <library-IDs>]애플리케이션이 참조할 라이브러리들을 지정한다. 여러 라이브러리를 지정할 경우 콤마(,)로 구분한다.
    [-version,--libraryVersion <library-versions>]참조할 라이브러리들에 대한 버전을 지정한다. 여러 라이브러리를 지정할 경우 콤마(,)로 구분한다.
    [-nj,--nodejava]Node JAVA 애플리케이션인지 여부를 설정한다.
    [-con, --concurrent]여러 애플리케이션을 deploy하려고 할 때 애플리케이션을 동시에 deploy할지 여부를 설정한다.
  • 예제

    [DAS]domain1.adminServer>deploy-application myApp -servers server1 
    deploy the application for the application [myApp] succeeded.       

4.2.6.5. deploy-library

설치되어 있는 라이브러리를 서버나 클러스터에 배포한다.

  • alias

    deploylib

  • 사용법

    deploy-library <library-id>
                   [-version,--libraryVersion <version>]
                   [-all]
                   [-clusters <cluster-list>]
                   [-servers <server-list>]
  • 파라미터

    파라미터설명
    <library-id>배포할 라이브러리의 식별자를 지정한다.
    [-version,--libraryVersion <version>]설치할 라이브러리의 버전을 지정한다.
    [-all]모든 서버를 대상으로 배포하고자 하는 경우 지정한다.
    [-clusters <cluster-list>]배포 대상이 될 클러스터를 지정한다. 여러 클러스터를 지정할 경우 콤마(,)로 구분한다.
    [-servers <server-list>]라이브러리를 배포할 서버를 지정한다. 여러 서버를 지정할 경우 콤마(,)로 구분한다.
  • 예제

    [DAS]domain1.adminServer>deploy-library log4j -version 1.2.17 -servers adminServer
    deploy the library [log4j] succeeded.

4.2.6.6. deployment-plan-info

설치되어 있는 Deployment Plan의 정보를 확인한다.

  • alias

    dpinfo

  • 사용법

    deployment-plan-info [-name,--deploymentPlanName <deployment-plan-name>]
  • 파라미터

    파라미터설명
    [-name,--deploymentPlanName <deployment-plan-name>]상세 정보를 확인할 Deployment Plan의 이름(식별자)을 지정한다.
  • 예제

    [DAS]domain1.adminServer>deployment-plan-info
    The list of deployment plans installed in the domain and the applications to which each deployment plan applies
    ===========================================================
    +------------------------------------------+--------------+
    |              Deployment plan             | Applications |
    +------------------------------------------+--------------+
    | plan1                                    |              |
    +------------------------------------------+--------------+
    ===========================================================

4.2.6.7. distribute-application

설치되어 있는 애플리케이션을 각 서버나 클러스터로 배포한다. 파일 배포 기능으로써 실제 서비스를 위해서는 start-application 명령어로 애플리케이션을 시작해야 한다.

  • alias

    distributeapp, distapp, distribute

  • 사용법

    distribute-application [<application-id>]
                   [-path,--applicationPath <path>]
                   [-servers <server-list>]
                   [-clusters <cluster-list>]
                   [-all]
                   [-vh,--virtualHost <virtual-host>]
                   [-type,--applicationType <application-type>]
                   [-cl,--classloading <classloading-mode>]
                   [-auto,--autoRedeployCheckInterval <auto-redeploy-check-interval>]
                   [-security,--securityDomainName <security-domain-name>]
                   [-fast,--fastDeploy]
                   [-keep,--keepGenerated]
                   [-shared,--sharedDisk]
                   [-u,--upgrade]
                   [-plan,--deploymentPlanName <deployment-plan-name>]
                   [-ctxp,--contextPath <context-path>]
                   [-staging]
                   [-lib,--libraryId <library-IDs>]
                   [-version,--libraryVersion <library-versions>]
                   [-nj,--nodejava]
                   [-con,--concurrent]
  • 파라미터

    파라미터설명
    [<application-id>]애플리케이션을 설치(install-application)할 때 입력한 애플리케이션의 ID이다. 한 개 이상의 애플리케이션을 distribute하려면 콤마(,)를 통해 ID를 구분한다. 파일 경로를 통해 distribute할 때도 애플리케이션에 ID를 부여할 수 있다. 이 경우에는 하나의 경로와 하나의 ID만 올 수 있다.
    [-path,--applicationPath <path>]애플리케이션을 설치하지 않고 파일 경로를 이용할 때 사용한다. DAS와 같은 머신에 있는 파일만 가능하다.
    [-servers <server-list>]애플리케이션을 설치할 서버들이다. 서버 이름은 콤마(,)로 구분한다.
    [-clusters <cluster-list>]애플리케이션을 설치할 클러스터들이다. 클러스터 이름은 콤마(,)로 구분한다.
    [-all]도메인에 존재하는 모든 서버에 설치할 때 지정한다.
    [-vh,--virtualHost <virtual-host>]가상 호스트 주소로 웹 엔진에 설정한 가상 호스트 이름 중 하나를 선택한다. 웹 모듈에서만 동작한다.
    [-type,--applicationType <application-type>]

    애플리케이션의 종류를 지정한다.

    <application-type>에 다음 중 하나를 설정한다.

    • EAR

    • EJB

    • WAR

    • CAR

    • RAR

    옵션을 주지 않더라도 DD나 Annotation을 통해 자동으로 지정될 수 있다.

    [-cl,--classloading <classloading-mode>]

    클래스 로딩 형식을 지정한다.

    <classloading-mode>에 다음 중 하나를 설정한다.

    • SHARED

    • ISOLATED(기본값)

    [-auto,--autoRedeployCheckInterval <auto-redeploy-check-interval>]

    애플리케이션을 자동으로 Redeploy하기 위한 체크 주기이다.

    (단위: ms)

    [-security,--securityDomainName <security-domain-name>]애플리케이션에 적용될 보안 도메인 이름을 선택한다. 기본값으로 보안 도메인 설정에서 default-application-domain으로 설정된 값이 적용된다.
    [-fast,--fastDeploy]deploy할 때 생성되는 파일을 미리 생성해 놓은 경우 미리 생성된 파일을 사용하여 Deploy 속도를 향상시킬지 여부이다.
    [-keep,--keepGenerated]deploy할 때 생성된 파일을 유지할지 여부이다.
    [-shared,--sharedDisk]NAS를 사용할 경우 설정한다. 애플리케이션 파일을 복사하지 않도록 하기 위한 옵션이다.
    [-u,--upgrade]미리 설치하지 않은 애플리케이션을 배포할 때 호환성을 위해 JEUS 6 이전 버전의 DD을 JEUS 8 버전에 맞는 형식으로 바꿔주기 위한 옵션이다.
    [-plan,-deploymentPlanName <deployment-plan-name>]Deployment Plan 파일의 이름을 설정하기 위한 옵션이다.
    [-ctxp,--contextPath <context-path>]웹 애플리케이션의 경우 컨텍스트를 설정하기 위한 옵션이다.
    [-staging]Exploded module 형태의 애플리케이션을 압축하여 다른 머신에 전송하기 위한 옵션이다.
    [-lib,--libraryId <library-IDs>]애플리케이션이 참조할 라이브러리들을 지정한다. 여러 라이브러리를 지정할 경우 콤마(,)로 구분한다.
    [-version,--libraryVersion <library-versions>]참조할 라이브러리들에 대한 버전을 지정한다. 여러 라이브러리를 지정할 경우 콤마(,)로 구분한다.
    [-nj,--nodejava]Node JAVA 애플리케이션인지 여부를 설정한다.
    [-con, --concurrent]여러 애플리케이션을 distribute하려고 할 때, 애플리케이션을 동시에 distribute할지 여부를 설정한다.
  • 예제

    [DAS]domain1.adminServer>distribute-application myApp -servers server1
    distribute the application for the application [myApp] succeeded.

4.2.6.8. install-application

애플리케이션을 설치한다. 애플리케이션의 ID를 정의할 수 있다. 별도로 ID를 지정하지 않는 경우 애플리케이션의 파일 이름을 사용하며, 문자 점(.)은 문자 언더바(_)로 대체된다.

  • alias

    installapp, install-app

  • 사용법

    install-application <application-source-path>
                        [-id,--applicationId <application-id>]
                        [-f,--force]
                        [-u,--upgrade]
  • 파라미터

    파라미터설명
    <application-source-path>애플리케이션의 경로를 지정한다.
    [-id,--applicationId <application-id>]애플리케이션의 ID를 지정한다.
    [-f,--force]동일한 ID가 존재하는 경우 현재 애플리케이션으로 덮어쓸지 여부를 선택한다.
    [-u,--upgrade]호환성을 위해 JEUS 6 이전 버전의 DD를 JEUS 8 버전에 맞는 형식으로 바꿔주기 위한 옵션이다.
  • 예제

    [DAS]domain1.adminServer>install-application /home/apps/myApp.ear -id myApp 
    Successfully installed the application [myApp].
  • 참고

    본 명령어는 서버에 접속하지 않은 상태에서도 사용할 수 있다.

4.2.6.9. install-deployment-plan

Deployment Plan을 설치한다. 이때 설치할 Deployment Plan의 식별자를 정의할 수 있다.

  • alias

    installdp

  • 사용법

    install-deployment-plan -path,--deploymentPlanPath <deployment-plan-path>
                            [-name,--deploymentPlanName <deployment-plan-name>]
                            [-f,--force]
  • 파라미터

    파라미터설명
    -path,--deploymentPlanPath <deployment-plan-path>설치할 Deployment Plan의 로컬 경로를 지정한다.
    [-name,--deploymentPlanName <deployment-plan-name>]설치할 Deployment Plan의 도메인 상에서의 식별자(이름)를 정의한다.
    [-f,--force]동일한 이름을 가지고 있는 기존 Deployment Plan을 덮어쓰도록 강제한다.
  • 예제

    [DAS]domain1.adminServer>install-deployment-plan -path /home/plans/jeus-deployment-plan.xml -name plan1 
    Installing the deployment plan [plan1] was successful.
  • 참고

    본 명령어는 서버에 접속하지 않은 상태에서도 사용할 수 있다.

4.2.6.10. install-library

라이브러리 파일을 설치한다.

  • alias

    installlib, install-lib

  • 사용법

    install-library <library-id>
                    -path <library-source-path>
                    [-version,--libraryVersion <version>]
    
  • 파라미터

    파라미터설명
    <library-id>설치할 라이브러리에 대한 식별자를 지정한다.
    -path <library-source-path>라이브러리 파일이 위치한 경로를 지정한다.
    [-version,--libraryVersion <version>]설치할 라이브러리의 버전을 지정한다. 지정하지 않은 경우 1.0으로 간주한다.
  • 예제

    [DAS]domain1.adminServer>install-library log4j -path /home/lib/apache-log4j-1.2.17/log4j-1.2.17.jar -version 1.2.17
    Successfully installed the library [log4j] version [1.2.17].

4.2.6.11. library-info

현재 설치 및 배포되어 있는 라이브러리에 대한 목록을 출력한다.

  • alias

    libinfo, list-libraries

  • 사용법

    library-info
  • 예제

    [DAS]domain1.adminServer>library-info
    Library information
    ================================================================================
    +-----------+--------+--------+---------------+------------------+-------------+
    | Library ID| Version|  State | Target Servers|  Target Clusters | Applications|
    +-----------+--------+--------+---------------+------------------+-------------+
    | log4j     | 1.2.17 | RUNNING| adminServer   |                  |             |
    +-----------+--------+--------+---------------+------------------+-------------+
    ================================================================================
    

4.2.6.12. list-application-repositories

등록되어 있는 애플리케이션 저장소들의 정보를 확인한다.

  • alias

    listapprepos

  • 사용법

    list-application-repositories
  • 예제

    [DAS]domain1.adminServer>list-application-repositories
    Application Repositories
    ================================================================================
    +------------------------------------------------------------------------------+
    |                        Path of Application Repository                        |
    +------------------------------------------------------------------------------+
    | /home/user1/apps/                                                            |
    | //host1/shared/apps                                                          |
    +------------------------------------------------------------------------------+
    ================================================================================

4.2.6.13. redeploy-application

특정 애플리케이션을 다시 deploy한다.

  • alias

    redepapp, redeploy

  • 사용법

    redeploy-application <application-id>
                         [-path,--uploadPath <application-upload-path>]
                         [-dasPath,--pathManuallyInstalled
                         <application-source-path-in-das>]
                         [-to <graceful-timeout>]
                         [-f,--force]
                         [-distonly,--distributeOnly]
                         [-plan,-deploymentPlanName <deployment-plan-name>]
                         [-lib,--libraryId <library-IDs>]
                         [-version,--libraryVersion <library-versions>]
                         [-u, --upgrade]
    
  • 파라미터

    파라미터설명
    <application-id>애플리케이션의 ID이다. 한 개 이상의 애플리케이션을 redeploy하려면 콤마(,)로 구분한다.
    [-path, --uploadPath <application-upload-path>]변경된 애플리케이션의 파일 경로이다. 파일 재설치 동작을 포함한다.
    [-dasPath, --pathManuallyInstalled <application-source-path-in-das>]DAS 머신에서 접근가능한 변경된 애플리케이션의 로컬 파일 경로이다. 설치하는 작업을 포함하지 않는다.
    [-to <graceful-timeout>]Graceful undeploy의 타임아웃 값이다. (단위: 초)
    [-f,--force]기존의 애플리케이션이 계속 서비스되도록 한다.
    [-distonly,--distributeOnly]새 애플리케이션을 서비스하지 않고 각 서버로의 설치까지만 진행한다.
    [-plan,-deploymentPlanName <deployment-plan-name>]Deployment Plan 파일의 이름을 설정하기 위한 옵션이다.
    [-lib,--libraryId <library-IDs>]애플리케이션이 참조할 라이브러리들을 지정한다. 여러 라이브러리를 지정할 경우 콤마(,)로 구분한다.
    [-version,--libraryVersion <library-versions>]참조할 라이브러리들에 대한 버전을 지정한다. 여러 라이브러리를 지정할 경우 콤마(,)로 구분한다.
    [-u, --upgrade]새 애플리케이션이 갖고 있는 DD를 최신 버전에 맞게 업그레이드한다. 이 옵션은 path 옵션이나 dasPath 옵션을 사용하여 새 애플리케이션 경로를 지정하였을 경우에만 동작한다.
  • 예제

    [DAS]domain1.adminServer>redeploy-application myApp 
    redeploy application on das for the application [myApp] succeeded.
  • 참고

    본 명령어는 서버에 접속하지 않은 상태에서도 사용할 수 있다.

4.2.6.14. remove-application-repository

등록되어 있는 애플리케이션 저장소를 삭제한다.

  • alias

    rmapprepo, removeapprepo, uninstallapps

  • 사용법

    remove-application-repository [<application-repository-path>]
                                  [-f,--forceLock]
                                  [-detail]
  • 파라미터

    파라미터설명
    [<application-repository-path>]삭제할 애플리케이션 저장소의 경로이다.
    [-f, --forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-detail]정보를 자세히 출력하는 경우 사용한다.
  • 예제

    [DAS]domain1.adminServer>remove-application-repository /home/user1/apps
    Successfully performed the REMOVE operation for An application repository.
    Check the results using "remove-application-repository or list-application-repositories"

4.2.6.15. remove-application-target

특정 서버나 특정 클러스터에 Deploy 또는 배포된 애플리케이션을 해당 서버나 클러스터에서 제거한다. DAS-MS 구조에서만 수행 가능한 명령어이다.

  • alias

    remove-app-target, remove-target, rm-app-target, rmapptarget

  • 사용법

    remove-application-target <application-id>
                              [-servers <server-list>]
                              [-clusters <cluster-list>]
                              [-vh,--virtualHost <virtual-host>]
  • 파라미터

    파라미터설명
    <application-id>제거할 애플리케이션의 ID이다.
    [-servers <server-lists>]애플리케이션을 제거할 서버의 이름을 지정한다. 서버 이름은 콤마(,)로 구분한다.
    [-clusters <cluster-lists>]애플리케이션을 제거할 클러스터의 이름을 지정한다. 클러스터 이름은 콤마(,)로 구분한다.
    [-vh,--virtualHost <virtual-host>]가상 호스트 이름을 지정한다.
  • 예제

    [DAS]domain1.adminServer>remove-application-target myApp -servers server1 
    remove server or cluster target from the application for the application [myApp] succeeded.

4.2.6.16. start-application

배포된 애플리케이션의 서비스를 시작한다.

  • alias

    startapp, start-app

  • 사용법

    start-application <application-id>
                      [-con,--concurrent]
  • 파라미터

    파라미터설명
    <application-id>서비스를 시작할 애플리케이션의 ID이다. 한 개 이상의 애플리케이션을 시작하려면 콤마(,)로 구분한다.
    [-con, --concurrent]여러 애플리케이션을 start하려고 할 때, 애플리케이션을 동시에 start할지 여부를 설정한다.
  • 예제

    [DAS]domain1.adminServer>start-application myApp 
    start the application for the application [myApp] succeeded.

4.2.6.17. stop-application

서비스 중인 애플리케이션을 정지시킨다.

  • alias

    stopapp, stop-app

  • 사용법

    stop-application <application-id>                 
                     [-con,--concurrent]
  • 파라미터

    파라미터설명
    <application-id>서비스를 정지시킬 애플리케이션의 ID이다. 한 개 이상의 애플리케이션을 정지하려면 콤마(,)로 구분한다.
    [-con, --concurrent]여러 애플리케이션을 stop하려고 할 때, 애플리케이션을 동시에 stop할지 여부를 설정한다.
  • 예제

    [DAS]domain1.adminServer>stop-application myApp 
    stop the application for the application [myApp] succeeded.

4.2.6.18. undeploy-application

deploy된 애플리케이션을 undeploy한다.

  • alias

    undeployapp, undeploy

  • 사용법

    undeploy-application <application-id>
                         [-to,--gracefultimeout <graceful-undeploy-timeout>]
                         [-f,--force <non-graceful undeploy>]
                         [-new | -old | -all]
                         [-con,--concurrent]
  • 파라미터

    파라미터설명
    <application-id>애플리케이션의 ID이다. 한 개 이상의 애플리케이션을 undeploy하려면 콤마(,)로 구분한다.
    [-to,--gracefultimeout <graceful-undeploy-timeout>]Graceful undeploy할 때 적용되는 타임아웃 값이다. 처리 중인 요청을 입력한 시간만큼 완료되길 기다린다. (단위: 초)
    [-f,--force <non-graceful undeploy>]undeploy할 때 Graceful undeploy를 수행하지 않는다. 처리 중인 요청은 무시되고 애플리케이션은 undeploy된다.
    [-new]Graceful reploy할 때 새로운 애플리케이션을 undeploy하고 기존 애플리케이션을 서비스한다.
    [-old]Graceful reploy할 때 기존 애플리케이션을 undeploy한다.
    [-all]Graceful redeploy할 때 새로운 애플리케이션과 기존의 애플리케이션 모두를 undeploy한다.
    [-con, --concurrent]여러 애플리케이션을 undeploy하려고 할 때 애플리케이션을 동시에 undeploy할지 여부를 설정한다.
  • 예제

    [DAS]domain1.adminServer>undeploy-application myApp 
    Undeploying [myApp] (This may take time due to graceful undeployment) ..........
    undeploy the application for the application [myApp] succeeded.
    Successfully undeployed (elapsed = 2822ms)

4.2.6.19. undeploy-library

서버나 클러스터를 대상으로 배포했던 라이브러리를 undeploy한다.

  • alias

    undeploylib

  • 사용법

    undeploy-library <library-id>
                     [-version,--libraryVersion <version>]
    
  • 파라미터

    파라미터설명
    <library-id>undeploy할 라이브러리에 대한 식별자를 지정한다.
    [-version,--libraryVersion <version>]undeploy할 라이브러리의 버전을 지정한다.
  • 예제

    [DAS]domain1.adminServer>undeploy-library log4j -version 1.2.17
    undeploy the library [log4j] succeeded.

4.2.6.20. uninstall-application

설치되어 있는 애플리케이션을 제거한다.

  • alias

    uninstallapp, uninstall

  • 사용법

    uninstall-application <application-id> | [-all]
  • 파라미터

    파라미터설명
    <application-id>애플리케이션의 ID이다. 한 개 이상의 애플리케이션을 제거하려면 콤마(,)로 구분한다.
    [-all]설치되어 있는 모든 애플리케이션을 제거한다.
  • 예제

    [DAS]domain1.adminServer>uninstall-application myApp
    uninstall the application for the application [myApp] succeeded. : Successfully deleted [myApp].

4.2.6.21. uninstall-deployment-plan

설치되어 있는 Deployment Plan을 제거한다.

  • alias

    uninstalldp

  • 사용법

    uninstall-deployment-plan <deployment-plan-name> | [-all]
  • 파라미터

    파라미터설명
    <deployment-plan-name>제거할 Deployment Plan 식별자(이름)를 지정한다.
    [-all]설치되어 있는 모든 Deployment Plan을 제거한다.
  • 예제

    [DAS]domain1.adminServer>uninstall-deployment-plan plan1 
    Uninstalling the deployment plan was successful.

4.2.6.22. uninstall-library

설치되어 있는 라이브러리 파일을 삭제한다.

  • alias

    uninstalllib

  • 사용법

    uninstall-library <library-id>
                      [-version,--libraryVersion <version>]
    
  • 파라미터

    파라미터설명
    <library-id>삭제할 라이브러리의 식별자를 지정한다.
    [-version,--libraryVersion <version>]삭제할 라이브러리의 버전을 지정한다.
  • 예제

    [DAS]domain1.adminServer>uninstall-library log4j -version 1.2.17
    uninstall the library [log4j] succeeded. : Successfully deleted [log4j].

4.2.7. EJB 엔진 관련 명령어

EJB 엔진 관련 명령어의 목록은 다음과 같다.

명령어설명
cancel-ejb-timer특정 서버의 EJB 타이머를 취소한다.
ejb-timer-info특정 서버의 EJB 타이머 정보를 확인한다.
modify-active-management특정 서버의 Active management를 변경한다.
modify-check-resolution특정 서버의 Resolution 정보를 변경한다.
show-active-management특정 서버의 Active management 정보를 확인한다.
show-check-resolution특정 서버의 Resolution 정보를 확인한다.

4.2.7.1. cancel-ejb-timer

특정 서버의 EJB 타이머를 취소한다.

  • alias

    cancelejbtimer, canceltimer

  • 사용법

    cancel-ejb-timer -server <server-name>
                     -module <module-id> | -timer <timer-id>
  • 파라미터

    파라미터설명
    -server <server-name>서버의 이름이다.
    -module <module-id>타이머를 취소할 모듈의 ID이다.
    -timer <timer-id>취소할 타이머의 ID이다.
  • 예제

    [DAS]domain1.adminServer>cancel-ejb-timer -server server1 -timer 502
    Successfully canceled.

4.2.7.2. ejb-timer-info

특정 서버의 EJB 타이머 정보를 확인한다.

  • alias

    ejbtimerinfo, timerinfo, scheduler

  • 사용법

    ejb-timer-info -server <server-name>
                  [-module <module-id> | -all]
                  [-detail]
  • 파라미터

    파라미터설명
    -server <server-name>서버의 이름이다.
    [-module <module-id> ]타이머 정보를 확인할 EJB 모듈의 이름이다.
    [-all]모든 EJB 모듈의 타이머 정보를 확인한다.
    [-detail]타이머의 정보를 상세하게 출력한다.
  • 예제

    [DAS]domain1.adminServer>ejb-timer-info -server server1 -all -detail
    Persistent Timer List: server[server1]
    Module ID: Timer
    ================================================================================
    +----+-------------+---------+--------------------+------+---------------------+
    | ID |     BEAN    |  METHOD |      SCHEDULE      | INFO |         NEXT        |
    +----+-------------+---------+--------------------+------+---------------------+
    | 52 | Persistence | print() | sec=*,min=*,hour=* |      | 2016-08-29 (Mon) PM |
    |    |TestBean     |         |,dayOfMonth=*,dayOf |      | 03:50:34 KST        |
    |    |             |         |Week=*,month=*,year |      |                     |
    |    |             |         |=*                  |      |                     |
    +----+-------------+---------+--------------------+------+---------------------+
    ================================================================================

4.2.7.3. modify-active-management

특정 서버의 Active management를 변경한다.

  • alias

    modifyam

  • 사용법

    modify-active-management -server <server-name> 
                            [-mbt,--maxBlockedThread <max-blocked-thread>] 
                            [-mit,--maxIdleTime <max-idle-time>]
                            [-f,--forceLock]
                            [-detail]
  • 파라미터

    파라미터설명
    -server <server-name>서버의 이름이다.
    [-mbt,--maxBlockedThread <max-blocked-thread>][동적 변경] 블록된 Thread 개수의 최댓값이다.
    [-mit,--maxIdleTime <max-idle-time>][동적 변경] 블록되었다고 판단할 idle 시간의 최댓값이다.
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-detail]동적 변경 결과에 대한 상세한 정보가 출력된다.
  • 예제

    [DAS]domain1.adminServer>modify-active-management -server server1 -mbt 5 -mit 300001
    Successfully performed the MODIFY operation for active-management for the server (server1)..
    Check the results using "show-active-management -server server1"

4.2.7.4. modify-check-resolution

특정 서버의 Resolution을 변경한다.

  • alias

    modifyresolution, ejbengineresolution

  • 사용법

    modify-check-resolution -server <server-name>
                            [-r,--resolution <resolution>]
                            [-f,--forceLock]
                            [-detail]
  • 파라미터

    파라미터설명
    -server <server-name>서버의 이름이다.
    [-r,--resolution <resolution>][동적 변경] 변경할 EJB 엔진의 Resolution이다.
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-detail]동적 변경 결과에 대한 상세한 정보가 출력된다.
  • 예제

    [DAS]domain1.adminServer>modify-check-resolution -server server1 -r 3000001
    Successfully performed the MODIFY operation for The EJB engine resolution of the server (server1)..
    Check the results using "show-check-resolution -server server1"

4.2.7.5. show-active-management

특정 서버의 Active management 정보를 확인한다.

  • alias

    showam

  • 사용법

    show-active-management -server <server-name>
  • 파라미터

    파라미터설명
    -server <server-name>서버의 이름이다.
  • 예제

    [DAS]domain1.adminServer>show-active-management -server server1
    Shows the current configuration.
    active-management for the server (server1).
    ===================================================================
    +---------------------------------------------------------+-------+
    | Max Blocked Thread                                      | 5     |
    | Max Idle Time                                           | 300001|
    +---------------------------------------------------------+-------+
    ===================================================================

4.2.7.6. show-check-resolution

특정 서버의 Resolution 정보를 확인한다.

  • alias

    showresolution

  • 사용법

    show-check-resolution -server <server-name>
  • 파라미터

    파라미터설명
    -server <server-name> 서버의 이름이다.
  • 예제

    [DAS]domain1.adminServer>show-check-resolution -server server1
    Shows the current configuration.
    The EJB engine resolution of the server (server1).
    ========================================================
    +---------------------------------------------+--------+
    | Resolution                                  | 3000001|
    +---------------------------------------------+--------+
    ========================================================

4.2.8. 웹 엔진 관련 명령어

웹 엔진 관련 명령어는 크게 다음과 같이 2가지로 구분할 수 있다.

  • 모니터링 및 제어

    deploy되어 있는 웹 컨텍스트의 상태를 확인하거나 제어하기 위한 명령어, 웹 엔진의 상태를 확인하거나 제어하기 위한 명령어들이다.

    명령어설명
    resume-web-component일시 중지된 웹 컴포넌트(서블릿)를 재시작한다.
    suspend-web-component웹 컴포넌트(서블릿)를 일시중지한다.
    reload-web-context특정 컨텍스트를 동적으로 reload한다.
    show-web-engine-configuration웹 엔진 관련 설정 정보를 조회한다.
    show-web-statistics웹 엔진 관련 각종 통계 자료를 조회한다.
    clear-web-statistics컨텍스트, 서블릿 등의 요청 통계 자료를 초기화한다.
    show-request-processing-flowURL 패턴이나 특정 호스트명으로 들어온 요청의 처리 흐름을 조회한다.
    precompile-jspdeploy된 웹 컨텍스트의 JSP 파일들을 요청처리 전에 미리 컴파일한다.

4.2.8.1. 공통적용 사항

다음은 웹 엔진 관련 명령어에서 공통적으로 적용되는 옵션에 대한 설명이다. 아래 옵션 중 하나만 설정될 수 있다.

  • [-cluster <cluster_name> ] 옵션

    • 각 명령어가 적용될 클러스터를 지정할 때 사용하는 옵션이다. 옵션을 설정하지 않으면 현재 접속된 서버의 웹 엔진으로 적용된다.

    • 각 명령어의 옵션 설명에서 이 옵션에 대한 설명은 생략한다. 단, precompile-jsp는 이 옵션을 제공하지 않는다.

  • [-server <server_name> ] 옵션

    • 각 명령어가 적용될 서버를 지정할 때 사용하는 옵션이다. 옵션을 설정하지 않으면 현재 접속된 서버의 웹 엔진으로 적용된다.

    • 각 명령어의 옵션 설명에서 이 옵션에 대한 설명은 생략한다.

참고

1. 서버에 즉시 반영이 안되는 설정의 경우 즉, Pending된 설정이 최초의 설정으로 재설정되는 명령어를 수행하면, 서버의 재시작이 필요하다는 안내문(Restart the Server)이 출력되지 않는다.

2. DAS의 경우는 위 옵션 중 하나는 반드시 필요하다. 그렇지만 DAS가 아닌 일반 관리 서버에서 해당 명령어를 실행할 경우에는 아래 옵션들이 없을 경우 접속한 서버를 기반으로 명령어가 수행된다.

4.2.8.2. add-web-cookie-policy

웹 엔진의 HTTP Cookie Policy 설정을 추가한다. 단, XML에만 반영하며 실제로 서비스에 적용하려면 서버를 재시작해야 한다.

  • 관련 스키마

    web-engine.xsd - web-engine/cookie-policy

  • alias

    addcookie

  • 사용법

    add-web-cookie-policy [-cluster <cluster-name> | -server <server-name>]
                      [-f, -forceLock]
                      [-auer,--apply-url-encoding-rule <apply-url-encoding-rule>]
                      [-enc,--charset-encoding <charset-encoding>]
                      [-vh <virtual-host-name>]
  • 파라미터

    파라미터설명
    [-f, --forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-auer,--apply-url-encoding-rule <apply-url-encoding-rule>]URL Encoding Rule 적용 여부를 설정한다.
    [-enc,--charset-encoding <charset-encoding>]URL Encoding Rule을 적용할 때 사용하는 Charset Encoding이다. 설정하지 않을 경우 Request Encoding 값을 따른다.
    [-vh <virtual-host-name>]가상 호스트를 지정한다.
  • 예제

    add-web-cookie-policy -server server1 -auer true
    
    add-web-cookie-policy -server server1 -enc EUC-KR
    

4.2.8.3. add-web-encoding

웹 엔진의 Encoding을 추가한다. 단, XML에만 반영하며 실제로 서비스에 적용하려면 서버를 재시작해야 한다(이미 설정되어 있던 Encoding을 삭제하고 추가하며, Encoding이 변한 경우 restart되어야 서버에 적용이 된다).

  • 관련 스키마

    web-engine.xsd - web-engine/encoding

  • alias

    addenc

  • 사용법

    add-web-encoding [-cluster <cluster-name> | -server <server-name>]
                    [-f, -forceLock]
                    <charset encoding>
                    -co | -default | -forced
                    [-url]
                    [-req]
                    [-res]
                    [-vh <virtual-host-name>]
  • 파라미터

    파라미터설명
    [-f, --forceLock]설정 변경을 강제로 진행하여 반영한다.
    <charset encoding>설정할 Character Set Encoding 이름이다. 잘못된 값이 입력되면 오류가 출력되고 명령이 실패한다.
    -co | -default | -forced입력된 Encoding을 default로 설정할지 forced로 설정할지 결정한다. request encoding인 경우 두 설정 외에 client-override를 설정할 수 있다.
    [-url]Request Url의 Character Set Encoding을 설정한다.
    [-req]Request의 Character Set Encoding을 설정한다.
    [-res]Response의 Character Set Encoding을 설정한다.
    [-vh <virtual-host-name>]가상 호스트를 지정한다.
  • 예제

    add-web-encoding -server server1 -default -url UTF-8
    
    addenc -server server1 UTF-8 -forced -req -res
    

4.2.8.4. add-web-properties

웹 엔진의 프로퍼티 설정을 추가한다. 추가되는 프로퍼티는 대소문자를 구별한다. 단, XML에만 반영하며 실제로 서비스에 적용하려면 서버를 재시작해야 한다.

  • 관련 스키마

    web-engine.xsd - web-engine/properties

  • alias

    addwebpr

  • 사용법

    add-web-properties [-cluster <cluster-name> | -server <server-name>]
                       [-f, -forceLock]
                       [-p,--properties <properties>] 
                       [-vh <virtual-host-name>]
  • 파라미터

    파라미터설명
    [-f, --forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-p,--properties <properties>]

    추가할 웹 엔진의 프로퍼티를 설정한다.

    한 개의 프로퍼티는 "key=value" 형태로 "="를 이용하여 설정한다.

    한 개 이상의 프로퍼티를 추가할 경우에는 각 프로퍼티를 콤마(,)로 구분하여 설정한다.

    [-vh <virtual-host-name>]가상 호스트를 지정한다.
  • 예제

    add-web-properties -server server1 -p jeus.servlet.jsp.modern=false
    
    add-web-properties -server server1 -p jeus.servlet.jsp.compile-java-source-concurrently1=false,
    jeus.servlet.jsp.assure-utf8-file-encoding-detection=true

4.2.8.5. add-response-header

웹 엔진의 Response Header 설정을 추가한다. 추가되는 Response Header는 대소문자를 구별하지 않는다. 단, XML에만 반영하며 실제로 서비스에 적용하려면 서버를 재시작해야 한다.

  • 관련 스키마

    web-engine.xsd - web-engine/response-header

  • alias

    addwebrh

  • 사용법

    add-response-header [-cluster <cluster-name> | -server <server-name>]
                        [-f, --forceLock]
                        [-n,--name <header-name>]
                        [-v,--value <header-value>]
  • 파라미터

    파라미터설명
    [-f, --forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-n,--name <header-name>]추가할 HTTP Response Header의 이름을 설정한다. 입력값은 대소문자를 구별하지 않는다. 같은 이름의 Header는 1개만 허용된다.
    [-v,--value <header-value>]추가할 HTTP Response Header의 값을 설정한다. 입력값은 대소문자를 구별하지 않는다.
  • 예제

    add-response-header -server server1 -n testHeader -v testValue
    

4.2.8.6. add-tmax-connector

Tmax 커넥터를 추가한다. 단, XML에만 반영하며 실제로 서비스에 적용하려면 서버를 재시작해야 한다.

  • 관련 스키마

    web-engine.xsd - web-engine/web-connections/tmax-connector

  • alias

    addtmaxcon

  • 사용법

    add-tmax-connector [-cluster <cluster-name> | -server <server-name>]
                       [-f, --forceLock]
                       -name <web-connection-name>
                       -tmin <minimum-thread-num>
                       [-tmax <maximum-thread-num>]
                       -addr <server-address>
                       -port <server-port>
                       -svrg <server-group-name>
                       -svr <server-name>
                       -dcc <dispatcher-config-class>
  • 파라미터

    파라미터설명
    [-f, --forceLock]설정 변경을 강제로 진행하여 반영한다.
    -name <web-connection-name>Tmax 커넥터의 이름이다.
    -tmin <minimum-thread-num>Thread Pool의 최소 Thread 수이다.
    [-tmax <maximum-thread-num>]Thread Pool의 최대 Thread 수이다.
    -addr <server-address>Tmax 서버 주소이다.
    -port <server-port>Tmax 서버 포트 번호이다.
    -svrg <server-group-name>Tmax가 속한 서버 그룹 이름이다.
    -svr <server-name>Tmax의 서버 이름이다.
    -dcc <dispatcher-config-class>jeus.servlet.tcp.TCPDispatcherConfig 인터페이스를 구현한 클래스 이름이다.
  • 예제

    add-tmax-connector -name tmax1 -tmin 20 -tmax 20 -addr 5.0.1.2 -port 1024 
    -svrg group1 -svr server1 -server server1 -dcc serice.DispatcherConfig
    

4.2.8.7. add-virtual-host

가상 호스트를 추가한다. 단, XML에만 반영하며 실제로 서비스에 적용하려면 서버를 재시작해야 한다.

  • 관련 스키마

    web-engine.xsd - web-engine/virtual-host

  • alias

    addvh

  • 사용법

    add-virtual-host [-cluster <cluster-name> | -server <server-name>]
                     [-f, --forceLock]
                     <virtual-host-name>
                     -list <host-name-list>
  • 파라미터

    파라미터설명
    [-f, --forceLock]설정 변경을 강제로 진행하여 반영한다.
    <virtual-host-name>가상 호스트의 이름이다.
    -list <host-name-list>가상 호스트에 등록할 도메인 이름 또는 IP 주소이다.
  • 예제

    add-virtual-host -server server1 host2 -list www.foo.com,192.168.1.2
    

4.2.8.8. add-web-listener

HTTP, TCP, AJP 리스너를 추가한다. 단, TCP 리스너는 XML에만 반영하며 TCP 리스너를 실제로 서비스에 적용하려면 서버를 재시작해야 한다.

  • 관련 스키마

    web-engine.xsd - web-engine/web-connections/http-listener, ajp13-listener, tcp-listener

  • alias

    addwebl

  • 사용법

    add-web-listener [-cluster <cluster-name> | -server <server-name>]
                     [-f, --forceLock]
                     -name <web-connection-name>
                     -tmin <minimum-thread-num>
                     [-tmax <maximum-thread-num>]
                     [-ajp | -http | -tcp]
                     -slref <server-listener-ref-name>
                     [-dcc <dispatcher-config-class>]
                     [-http2]
                     [-tauto]
                     [-tlimit <thread-num-limit>]                
  • 파라미터

    파라미터설명
    [-f, --forceLock]설정 변경을 강제로 진행하여 반영한다.
    -name <web-connection-name>리스너의 이름이다.
    -tmin <minimum-thread-num>Thread Pool의 최소 Thread 수이다.
    [-tmax <maximum-thread-num>]Thread Pool의 최대 Thread 수이다.
    [-ajp | -http | -tcp]리스너 타입이다. 입력하지 않을 경우 -http로 가정한다.
    -slref <server-listener-ref-name>서버에 등록된 서비스 리스너의 이름이다.
    [-dcc <dispatcher-config-class>]jeus.servlet.tcp.TCPDispatcherConfig 인터페이스를 구현한 클래스 이름이다. TCP 리스너의 경우에만 반드시 필요하다.
    [-http2]HTTP 리스너에서 HTTP/2를 사용한다.
    [-tauto]Auto Tuning을 사용한다. 이 옵션을 사용하면 min, max 설정을 해도 적용되지 않는다. HTTP 리스너에만 적용된다.
    [-tlimit <thread-num-limit>]Auto Tuning을 사용할 경우 Thread 수의 한계를 설정한다.
  • 예제

    add-web-listener -name http1 -tmin 10 -tmax 20 -server server1 -slref http-server -http2
    
    add-web-listener -name ajp -ajp -tmin 10 -tmax 20 -server server1 -slref ajp
    
    add-web-listener -name tcp1 -tcp -tmin 10 -tmax 20 -slref tcp -server server1 -dcc tcp.DispatcherConfigImpl
    

4.2.8.9. add-webtob-connector

WebtoB 커넥터를 추가한다. 추가한 WebtoB 커넥터는 실제 서비스에 사용 가능하다. 단, 추가 후에는 WebtoB 연결 주소, 포트 등을 변경할 수 없으므로 주의깊게 추가하기 바란다.

  • 관련 스키마

    web-engine.xsd - web-engine/web-connections/webtob-connector

  • alias

    addwebtobcon

  • 사용법

    add-webtob-connector [-cluster <cluster-name> | -server <server-name>]
                         [-f, --forceLock]
                         -name <web-connection-name>
                         -num <thread-number>
                         [-ver <<wjp-version>>]
                         [-addr <server-address>]
                         -port <server-port> | -dsocket
                         -regid <registration-id>
                         [-wbhome <webtob-home>]
                         [-ipcport <ipc-base-port>]
                         [-sndbuf <send-buffer-size>]
                         [-rcvbuf <receive-buffer-size>]
  • 파라미터

    파라미터설명
    [-f, --forceLock]설정 변경을 강제로 진행하여 반영한다.
    -name <web-connection-name>WebtoB 커넥터의 이름이다.
    -num <thread-number>Thread Pool의 Thread 수이다.
    -ver <wjp-version>WebtoB와 통신할 때 사용하는 프로토콜 버전을 나타낸다. 1 또는 2를 입력한다.
    -addr <server-address>WebtoB 서버 주소이다. -port 사용할 때 필수 옵션이다.
    -port <server-port>WebtoB 서버 포트 번호이다.
    -regid <registration-id>WebtoB와의 등록 ID이다.
    -dsocketUnix 도메인 소켓(Pipe)을 이용하여 JEUS와 WebtoB 사이에 통신을 한다.
    -wbhome <webtob-home>JEUS와 WebtoB가 같은 장비 안에 설치되어 있을 경우 WebtoB가 설치된 절대 경로이다.
    -ipcport <ipc-base-port>Windows 환경에서 WebtoB의 내부 프로세스간 통신을 할 때 사용하는 기본 포트 번호이다.
    -sndbuf <send-buffer-size>

    TCP 소켓이나 Unix 도메인 소켓의 SO_SNDBUF를 설정한다.

    0이면 OS의 기본값을 사용한다.

    -rcvbuf <receive-buffer-size>

    TCP 소켓이나 Unix 도메인 소켓의 SO_RCVBUF를 설정한다.

    0이면 OS의 기본값을 사용한다.

  • 예제

    add-webtob-connector -server server1 -name webtob1 -num 10 -regid MyGroup -port 9999 -addr localhost
    

4.2.8.10. clear-web-statistics

지정한 Entity(컨텍스트, 서블릿)에 대하여 요청 통계 자료를 초기화하여 카운터 기록을 재설정한다.

  • 관련 스키마

    web-engine.xsd

  • alias

    clrstat, clst, clrwebstat

  • 사용법

    clear-web-statistics [-server <server-name>]
                         [-ctx,--context <context-name>]
                         [-servlet <servlet-name>]
  • 파라미터

    파라미터설명
    [-ctx <context-name>]요청 횟수 및 처리 시간 기록을 삭제할 컨텍스트이다.
    [-servlet <servlet-name>]요청 횟수 및 처리 시간 기록을 삭제할 서블릿이다.
  • 예제

    clear-web-statistic -server server1 -ctx ctx1

4.2.8.11. modify-web-cookie-policy

웹 엔진의 HTTP Cookie Policy 설정을 수정한다. 단, XML에만 반영하며 실제로 서비스에 적용하려면 서버를 재시작해야 한다.

  • 관련 스키마

    web-engine.xsd - web-engine/cookie-policy

  • alias

    modcookie

  • 사용법

    modify-web-cookie-policy [-cluster <cluster-name> | -server <server-name>]
                         [-auer,--apply-url-encoding-rule <apply-url-encoding-rule>]
                         [-enc,--charset-encoding <charset-encoding>]
                         [-vh <virtual-host-name>]
  • 파라미터

    파라미터설명
    [-f, --forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-auer,--apply-url-encoding-rule <apply-url-encoding-rule>]URL Encoding Rule 적용 여부를 수정한다.
    [-enc,--charset-encoding <charset-encoding>]URL Encoding Rule을 적용할 때 사용하는 Charset Encoding을 수정한다.
    [-vh <virtual-host-name>]가상 호스트를 지정한다.
  • 예제

    modify-web-cookie-policy -server server1 -auer false
    
    modify-web-cookie-policy -server server1 -enc UTF-8
    

4.2.8.12. modify-web-encoding

웹 엔진의 Encoding을 수정한다. 단, XML에만 반영하며 실제로 서비스에 적용하려면 서버를 재시작해야 한다.

  • 관련 스키마

    web-engine.xsd - web-engine/encoding

  • alias

    modenc

  • 사용법

    modify-web-encoding [-cluster <cluster-name> | -server <server-name>]
                        [-f, --forceLock]
                        <charset encoding>
                        -co | -default | -forced
                        [-url]
                        [-req]
                        [-res]
                        [-vh <virtual-host-name>]
  • 파라미터

    파라미터설명
    [-f, --forceLock]설정 변경을 강제로 진행하여 반영한다.
    <charset encoding>수정할 Character Set Encoding 이름이다. 잘못된 값이 입력되면 오류가 출력되고 명령이 실패한다.
    -co | -default | -forced입력된 Encoding을 default로 설정할지 forced로 설정할지 결정한다. request encoding인 경우 두 설정 외에 client-override를 설정할 수 있다.
    [-url]Request Url의 Character Set Encoding을 수정한다.
    [-req]Request의 Character Set Encoding을 수정한다.
    [-res]Response의 Character Set Encoding을 수정한다.
    [-vh <virtual-host-name>]가상 호스트를 지정한다.
  • 예제

    modify-web-encoding -server server1 EUC-KR -forced -url
    
    modify-web-encoding -server server1 ISO-8859-1 -default -url -res -req
    

4.2.8.13. modify-web-properties

웹 엔진의 프로퍼티 설정을 수정한다. 수정되는 프로퍼티는 대소문자를 구별한다. 단, XML에만 반영하며 실제로 서비스에 적용하려면 서버를 재시작해야 한다.

  • 관련 스키마

    web-engine.xsd - web-engine/properties

  • alias

    modwebpr

  • 사용법

    modify-web-properties [-cluster <cluster-name> | -server <server-name>]
                          [-f, --forceLock]
                          [-p,--properties <properties>] 
                          [-vh <virtual-host-name>]
  • 파라미터

    파라미터설명
    [-f, --forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-p,--properties <properties>]

    수정할 웹 엔진의 프로퍼티를 설정한다.

    • 한 개의 프로퍼티는 "key=value" 형태로 "="를 이용하여 설정한다.

    • 한 개 이상의 프로퍼티를 수정할 경우에는 각 프로퍼티를 콤마(,)로 구분하여 설정한다.

    [-vh <virtual-host-name>]가상 호스트를 지정한다.
  • 예제

    modify-web-properties -server server1 
    -p jeus.servlet.jsp.compile-java-source-concurrently=false
    

4.2.8.14. modify-response-header

웹 엔진의 Response Header 설정을 수정한다. 수정되는 Response Header는 대소문자를 구별하지 않는다. 단, XML에만 반영하며 실제로 서비스에 적용하려면 서버를 재시작해야 한다.

  • 관련 스키마

    web-engine.xsd - web-engine/response-header

  • alias

    modwebrh

  • 사용법

    modify-response-header [-cluster <cluster-name> | -server <server-name>]
                           [-f, --forceLock]
                           [-n,--name <header-name>]
                           [-v,--value <header-value>]
  • 파라미터

    파라미터설명
    [-f, --forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-n,--name <header-name>]

    수정할 HTTP Response Header의 이름을 설정한다. 입력값은 대소문자를 구별하지 않는다.

    같은 이름의 Header는 1개만 허용된다.

    [-v,--value <header-value>]수정할 HTTP Response Header의 값을 설정한다. 입력값은 대소문자를 구별하지 않는다.
  • 예제

    modify-response-header -server server1 -n testheader -v testvalue3
    

4.2.8.15. modify-jsp-engine

웹 엔진의 JSP 엔진 설정을 수정한다. 단, XML에만 반영하며 실제로 서비스에 적용하려면 서버를 재시작해야 한다.

  • 관련 스키마

    web-engine.xsd - web-engine/jsp-engine

  • alias

    modjsp

  • 사용법

    modify-jsp-engine [-cluster <cluster-name> | -server <server-name>]
       [-f, --forceLock]
       [-rjwd,--remove-jsp-work-dir | -jwd,--jsp-work-dir <jsp-work-dir>]
       [-javac,--java-compiler <java-compiler>]
       [-cod,--compile-output-dir <compile-output-dir> | 
        -rcod,--remove-compile-output-dir]
       [-rcopt,--remove-compile-option | -copt,--compile-option <compile-option>]
       [-renc,--remove-compile-encoding | -enc,--compile-encoding <compile-encoding>]
       [-cij,--check-included-jspfile <check-included-jspfile>]
       [-kg,--keep-generated <keep-generated>]
       [-gjr,--graceful-jsp-reloading <graceful-jsp-reloading>]
       [-gjrp,--graceful-jsp-reloading-period <graceful-jsp-reloading-period>]
       [-umc,--use-in-memory-compilation <use-in-memory-compilation>]
  • 파라미터

    파라미터설명
    [-f, --forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-rjwd,--remove-jsp-work-dir | -jwd,--jsp-work-dir <jsp-work-dir>]

    -jwd,--jsp-work-dir <jsp-work-dir>을 이용하여 JSP를 Java로 생성한 파일과 그 소스 파일을 컴파일한 클래스 파일들이 저장되는 위치를 설정한다. 이때 설정값은 절대 경로로 입력해야한다.

    -rjwd,--remove-jsp-work-dir을 이용하여 설정을 삭제할 수 있다. 삭제할 경우 엔진의 내부 기본값이 사용된다.

    [-javac,--java-compiler <java-compiler>]

    JSP의 Java 소스를 서블릿 클래스 파일로 컴파일하기 위한 Java 컴파일러를 지정한다.

    다음 중에 하나를 설정한다.

    • java6 (기본값)

    • sun.tools.javac

    • javac

    • com.sun.tools.javac

    각 값들에 대한 설명은 스키마를 참고한다. 기본값으로 설정하는 것이 가장 효율적이기 때문에 별도의 설정을 하지 않는 것을 권장한다.

    [-cod,--compile-output-dir <compile-output-dir> | -rcod,--remove-compile-output-dir]

    -cod,--compile-output-dir <compile-output-dir>를 이용하여 JSP 파일에 의해 생성된 클래스 파일들을 JSP Work Dir 디렉터리가 아닌 다른 디렉터리에 저장할 수 있는 설정할 수 있다. 설정하지 않으면 클래스 파일들은 JSP Work Dir 디렉터리에 위치한다.

    -rcod,--remove-compile-output-dir을 이용하여 설정을 삭제할 수 있다. 삭제할 경우 엔진의 내부 기본값이 사용된다.

    [-rcopt,--remove-compile-option | -copt,--compile-option <compile-option>]

    -copt,--compile-option <compile-encoding>을 이용하여 서블릿 컴파일러로 사용되는 옵션을 설정한다.

    -rcopt,--remove-compile-option을 이용하여 설정한 값을 삭제할 수 있다.

    [-renc,--remove-compile-encoding | -enc,--compile-encoding <compile-encoding>]

    -enc,--compile-encoding <compile-encoding>을 이용하여 JSP 파일들이 Parsing되어 생성된 서블릿 소스 파일을 컴파일할 때 Encoding 옵션에 지정하는 값을 설정한다.

    -renc,--remove-compile-encoding을 이용하여 설정된 Encoding을 삭제할 수 있다.

    [-cij,--check-included-jspfile <check-included-jspfile>]JSP 파일의 변경 여부를 확인할 때 include된 JSP 파일들, Tag 파일들의 변경 여부를 확인해서 변경된 경우 해당 JSP 파일을 재컴파일하는 기능의 사용 여부를 설정한다.
    [-kg,--keep-generated <keep-generated>]JSP 페이지로부터 생성된 Java 소스 파일을 컴파일하여 서블릿 클래스 파일을 생성한 이후에 Java 소스 파일의 저장 여부를 결정한다.
    [-gjr,--graceful-jsp-reloading <graceful-jsp-reloading>]

    JSP 소스와 컴파일된 클래스 파일이 공유되고 있고, 하나의 JVM에서 exclusive하고 JSP 파일을 배치 형태의 Java 파일로 변환하여 컴파일할 것을 설정한다.

    JSP Work Dir 설정에 의해 공유되는 폴더가 지정되어 있는 경우에 한해서 동작한다.

    [-gjrp,--graceful-jsp-reloading-period <graceful-jsp-reloading-period>]Graceful JSP reloading이 동작되는 주기를 설정한다.
    [-umc,--use-in-memory-compilation <use-in-memory-compilation>]

    서비스 중인 JSP 파일을 새로 컴파일해야 할 때 .java 및 .class 파일을 메모리 상에 생성해서 컴파일하는 기능을 설정한다. 단, .class 파일의 경우에는 추후 리부팅할 때에 재컴파일하는 일이 없도록 Background thread를 통해서 파일 시스템에 쓴다.

    또한 <keep-generated>>가 true인 경우에는 .java 파일을 Background thread를 통해서 파일 시스템에 쓴다.

  • 예제

    modify-jsp-engine -server server1 -jwd /home/jeus/jsp
    

4.2.8.16. modify-tmax-connector

Tmax 커넥터의 Thread Pool 설정 등을 변경한다. 단, 운영 중인 Thread Pool의 Thread 수가 바로 변하는 것은 아니고 Thread Pool 체크 주기에 의해서 변한다.

  • 관련 스키마

    web-engine.xsd - web-engine/web-connections/tmax-connector

  • alias

    modtmaxcon

  • 사용법

    modify-tmax-connector [-cluster <cluster-name> | -server <server-name>]
                          [-f, --forceLock]
                          -name <web-connection-name>
                          [-tmin <minimum-thread-num>]
                          [-tmax <maximum-thread-num>]
                          [-tidle <max-idle-time>]
                          [-obuf <output-buffer-size>]
                          [-addr <server-address>]
                          [-port <server-port>]
                          [-svrg <server-group-name>]
                          [-svr <server-name>]
  • 파라미터

    파라미터설명
    [-f, --forceLock]설정 변경을 강제로 진행하여 반영한다.
    -name <web-connection-name>Tmax 커넥터의 이름이다.
    [-tmin <minimum-thread-num>][동적 변경] Thread Pool의 최소 Thread 수이다.
    [-tmax <maximum-thread-num>][동적 변경] Thread Pool의 최대 Thread 수이다.
    [-tidle <max-idle-time>]Thread Pool의 Thread별 유후 대기 시간이다.
    [-obuf <output-buffer-size>]서블릿 응답 버퍼 크기다.
    [-addr <server-address>]Tmax 서버 주소이다.
    [-port <server-port>]Tmax 서버 포트 번호이다.
    [-svrg <server-group-name>]Tmax 서버의 서버 그룹 이름이다.
    [-svr <server-name>]Tmax 서버의 이름이다.
  • 예제

    modify-tmax-connector -name tmax1 -tmin 30 -server server1 -tmax 30
    

4.2.8.17. modify-virtual-host

가상 호스트의 액세스 로그 포맷 설정을 변경한다. 만약 가상 호스트의 액세스 로그가 enable 상태가 아닐 경우 실제로 서비스에 적용하려면 서버를 재시작해야 한다.

  • 관련 스키마

    web-engine.xsd - web-engine/virtual-host

  • alias

    modvh

  • 사용법

    modify-virtual-host [-cluster <cluster-name> | -server <server-name>]
                        [-f, --forceLock]
                        <virtual-host-name>
                        [-aluph <access-log-use-parent-handler (true/false)>|
                         -alf <access-log-format> | 
                         -aluse <use-access-log (true/false)> |
                         -alhnl <access-log-enable-host-name-lookup> |
                         -alext <access-log-excluded-extensions>]
                        [-hnrm <host-name> | -hnadd <host-name>]
                        [-ast <attach-stacktrace-on-error>]

  • 파라미터

    파라미터설명
    [-f, --forceLock]설정 변경을 강제로 진행하여 반영한다.
    <virtual-host-name>가상 호스트의 이름이다.
    -aluph <access-log-use-parent-handler >

    [동적 변경] 웹 엔진 액세스 로그에 남길지 여부를 지정한다.

    (true | false 또는 t | f)

    [-alf <access-log-format>]

    [동적 변경] 액세스 로그 포맷이다. 중간에 스페이스 문자가 있는 경우 큰따옴표(" ")로 감싸야 한다.

    포맷에 관한 자세한 사항은 JEUS Web Engine 안내서”의 절 1.6.10. “액세스 로그 포맷 설정”을 참고한다.

    -aluse <use-access-log>

    [동적 변경] 액세스 로그 사용 여부를 지정한다.

    (true | false 또는 t | f)

    -alhnl <access-log-enable-host-name-lookup>[동적 변경] %h 포맷에 대해 로깅할 때 IP 주소에 대한 DNS Resolution 여부를 결정한다. (true | false 또는 t | f)
    -alext <access-log-excluded-extentions>

    [동적 변경] 액세스 로그에 남기지 않을 확장자를 설정한다.

    .gif, .jpg와 같이 여러 개를 설정하는 경우 콤마(,)를 사용한다. 설정하지 않는 경우 콤마만 입력한다.

    -hnrm <host-name>가상 호스트에 등록된 호스트 이름을 제거한다.
    -hnadd <host-name>가상 호스트에 새로운 호스트 이름을 등록한다.
    [-ast <attach-stacktrace-on-error>]JEUS에서 보내주는 에러 페이지에 Stack Trace를 첨부할지 여부를 설정한다.
  • 예제

    modify-virtual-host -server server1 vhost1 -alf "common %I"

4.2.8.18. modify-web-engine-configuration

웹 엔진 설정을 동적으로 변경한다. 이 명령어는 실제로 서비스 운영 중에도 반영되는 설정만 변경을 제공한다. 변경 가능한 정보는 모니터링 주기, 액세스 로그 포맷이다.

  • 관련 스키마

    web-engine.xsd - web-engine

  • alias

    setwebcfg, setwebconf, set-web-engine-configuration, modwebcfg, modwebconf

  • 사용법

    modify-web-engine-configuration [-cluster <cluster-name> | -server <server-name>]
                                    [-f, --forceLock]
                                    [-tpp <monitoring/check-thread-pool>]
                                    [-crp <monitoring/check-class-reload>]
                                    [-sp <monitoring/check-session>]
                                    [-alf <access-log-format>]
                                    [-aluse <use-access-log>]
                                    [-alhnl <access-log-enable-host-name-lookup>]
                                    [-alext <access-log-excluded-extensions>]
                                    [-ast <attach-stacktrace-on-error>]
                                    [-att <async-timeout-min-threads>]
                                    [-rerp | -erp <default-error-page>]

  • 파라미터

    파라미터설명
    [-f, --forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-tpp <monitoring/check-thread-pool>]Thread Pool 체크 주기이다.
    [-crp <monitoring/check-class-reload>]웹 컨텍스트 리로드 체크 주기이다.
    [-sp <monitoring/check-session>]세션 체크 주기이다.
    [-alf <access-log-format>]

    [동적 변경] 액세스 로그 포맷이다. 중간에 스페이스 문자가 있는 경우 큰따옴표(" ")로 감싸야 한다.

    포맷에 관한 자세한 사항은 JEUS Web Engine 안내서”의 절 1.6.10. “액세스 로그 포맷 설정”을 참고한다.

    [-aluse <use-access-log >]

    [동적 변경] 액세스 로그 사용 여부를 지정한다.

    (true | false 또는 t | f)

    [-alhnl <access-log-enable-host-name-lookup>][동적 변경] %h 포맷에 대해 로깅할 때 IP 주소에 대한 DNS Resolution 여부를 결정한다. (true | false 또는 t | f)
    [-alext <access-log-excluded-extentions>]

    [동적 변경] 액세스 로그에 남기지 않을 확장자를 설정한다.

    .gif, .jpg와 같이 여러 개를 설정하는 경우 콤마(,)를 사용한다. 설정하지 않는 경우 콤마만 입력한다.

    [-ast <attach-stacktrace-on-error>]JEUS에서 보내주는 에러 페이지에 Stack Trace를 첨부할지 여부를 설정한다.
    [-att <async-timeout-min-threads>]

    Servlet 3.0의 Asynchronous Servlet를 사용할 경우 타임아웃 처리를 하기 위한 Thread Pool의 최소 개수를 설정한다.

    0이면 타임아웃이 제대로 동작하지 않을 수 있으므로 항상 1 이상으로 설정해야 한다.

    [-rerp | -erp <default-error-page>]-erp <default-error-page>을 이용하여 웹 애플리케이션에 별도의 에러 페이지를 설정하지 않은 경우에 사용하는 에러 페이지를 설정한다. 정적인 페이지(HTML, HTM)만 설정할 수 있으며, 절대 경로여야 한다. -rerp를 이용하여 설정을 삭제할 수 있다.
  • 예제

    • [-alf <access-log-format>] 옵션을 사용한 예

      modify-web-engine-configuration -server server1 -alf "common %I"
      
      modify-web-engine-configuration -server server1 -alf "%h %l %u %t \"%r\" %>s %b"
    • [-aluse <use-access-log >] 옵션을 사용한 예

      modify-web-engine-configuration -server server1 -aluse false
    • [-alext <access-log-excluded-extentions>] 옵션을 사용한 예

      modify-web-engine-configuration -server server1 -alext .gif
      
      modify-web-engine-configuration -server server1 -alext .gif,.jpg
    • [-alext <access-log-excluded-extentions>] 옵션을 사용해서 기존의 extension 정보를 없애는 예

      modify-web-engine-configuration -server server1 -alext ,
    • [-tpp <monitoring/check-thread-pool>], [-crp <monitoring/check-class-reload>], [-sp <monitoring/check-session>] 옵션을 사용한 예

      modify-web-engine-configuration -tpp 10000 -crp 20000 -server server1 -sp 25000
    • [-ast <attach-stacktrace-on-error>] 옵션을 사용한 예

      modify-web-engine-configuration -server server1 -ast true
      
    • [-att <async-timeout-min-threads>] 옵션을 사용한 예

      modify-web-engine-configuration -server server1 -att 10
      
    • [-rerp | -erp <default-error-page>] 옵션을 사용한 예

      modify-web-engine-configuration -server server1 -erp /home/jeus/error/error.html
      

4.2.8.19. modify-web-listener

HTTP, TCP, AJP 리스너의 Thread Pool 설정 등을 변경한다. 단, 운영 중인 Thread Pool의 Thread 수가 바로 변하는 것은 아니고 Thread Pool 체크 주기에 의해서 변한다.

  • 관련 스키마

    web-engine.xsd - web-engine/web-connections/http-listener, ajp13-listener, tcp-listener

  • alias

    modwebl

  • 사용법

    modify-web-listener [-cluster <cluster-name> | -server <server-name>]
                        [-f, --forceLock]
                        -name <web-connection-name>
                        [-tmin <minimum-thread-num>]
                        [-tmax <maximum-thread-num>]
                        [-tidle <max-idle-time>]
                        [-tauto <enable-auto-tuning>]
                        [-tlimit <thread-num-limit>]
                        [-obuf <output-buffer-size>]
                        [-http2 <enable-http2>]
  • 파라미터

    파라미터설명
    [-f, --forceLock]설정 변경을 강제로 진행하여 반영한다.
    -name <web-connection-name>리스너의 이름이다.
    [-tmin <minimum-thread-num> ][동적 변경] Thread Pool의 최소 Thread 수이다.
    [-tmax <maximum-thread-num>][동적 변경] Thread Pool의 최대 Thread 수이다.
    [-tidle <max-idle-time>]Thread Pool의 각 Thread별 최대 유휴 시간이다.
    [-tauto <enable-auto-tuning>]Auto Tuning을 사용할지 결정한다. 이 옵션을 사용하면 min, max 설정을 해도 적용되지 않는다. HTTP 리스너에만 적용된다.
    [-tlimit <thread-num-limit>]Auto Tuning을 사용할 경우 Thread 수의 한계를 설정한다.
    -obuf <output-buffer-size>서블릿이 사용하는 응답 버퍼 크기다.
    [-http2 <enable-http2>]리스너가 http2를 사용/미사용할지 결정한다. HTTP 리스너에만 해당된다.
  • 예제

    modify-web-listener -name http1 -tmin 30 -server server1 -tmax 30
    
    modify-web-listener -name ajp1 -server server1 -tmin 20
    
    modify-web-listener -name tcp1 -server server1 -tmax 25
    

4.2.8.20. modify-webtob-connector

WebtoB 커넥터의 Thread Pool 설정 등을 변경한다. 단, 운영 중인 Thread Pool의 Thread 수가 바로 변하는 것은 아니고 Thread Pool 체크 주기에 의해서 변한다.

  • 관련 스키마

    web-engine.xsd - web-engine/web-connections/webtob-connector

  • alias

    modwebtobcon

  • 사용법

    modify-webtob-connector [-cluster <cluster-name> | -server <server-name>]
              [-f,--forceLock]
              -name <web-connection-name>
              [-num <thread-number>] [-obuf <output-buffer-size>]
              [-ver <wjp-version>]
              [-addr <server-address>]
              [-port <server-port> | -dsocket]
              [-wbhome <webtob-home>|-ipcport <ipc-base-port>]
              [-regid <registration-id>]
              [-sndbuf <send-buffer-size> ]
              [-rcvbuf <receive-buffer-size> ] 
  • 파라미터

    파라미터설명
    [-f, --forceLock]설정 변경을 강제로 진행하여 반영한다.
    -name <web-connection-name>WebtoB 커넥터의 이름이다.
    -num <thread-number>[동적 변경] Thread Pool의 Thread 수이다. 현재 Thread 숫자보다 낮게 설정한 경우 active한 Thread가 종료될 수 있 때문에 요청 처리가 있는 경우에는 사용하지 않도록 권고한다.
    [-obuf <output-buffer-size>]서블릿 응답 버퍼 크기다.
    -ver <wjp-version>WebtoB와 통신할 때 사용하는 프로토콜 버전을 나타낸다. 1 또는 2를 입력한다.
    -addr <server-address>WebtoB 서버 주소이다. -port 사용할 때 필수 옵션이다.
    -port <server-port>WebtoB 서버 포트 번호이다.
    -regid <registration-id>WebtoB와의 등록 ID 이다.
    -dsocketUnix 도메인 소켓(Pipe)을 이용하여 JEUS와 WebtoB 사이에 통신을 한다.
    -wbhome <webtob-home>JEUS와 WebtoB가 같은 장비 안에 설치되어 있을 경우 WebtoB가 설치된 절대 경로이다.
    -ipcport <ipc-base-port>Windows 환경에서 WebtoB의 내부 프로세스간 통신을 할 때 사용하는 기본 포트 번호이다.
    -sndbuf <send-buffer-size>

    TCP 소켓이나 Unix 도메인 소켓의 SO_SNDBUF를 설정한다.

    0이면 OS의 기본값을 사용한다.

    -rcvbuf <receive-buffer-size>

    TCP 소켓이나 Unix 도메인 소켓의 SO_RCVBUF를 설정한다.

    0이면 OS의 기본값을 사용한다.

  • 예제

    modify-webtob-connector -name webtob1 -num 30 -sndbuf 1200 -rcvbuf 2400 -server server1
    

4.2.8.21. precompile-jsp

deploy된 웹 컨텍스트의 JSP 파일들을 미리 컴파일한다.

JSP 파일은 보통 웹 브라우저로부터 JSP 파일에 대한 요청이 웹 엔진에 올 때 컴파일된다. 그리하여 JSP 파일에 대한 초기 요청은 많은 파싱과 컴파일 작업을 통해 많은 리소스를 소모하여 응답시간이 길어진다.

개발된 JSP 파일이 많고, 사용자 요구가 빈번한 웹사이트이면 "초기 요청 수행"에 소요되는 시간이나 리소스가 서비스에 크게 영향을 미칠 수 있다. 이런 경우에는 개발된 JSP 소스 파일들을 웹 엔진이 시작해서 서비스가 시작되기 전에 precompile-jsp 명령어로 컴파일을 수행하면 문제를 해결할 수 있다.

precompile-jsp는 JEUS가 부팅된 상태에서 deploy된 모듈에 한해 컴파일을 수행한다. JEUS가 부팅되지 않은 상태에서 사전 컴파일을 수행하기 위해서는 “4.3. appcompiler”를 사용해야 한다.

참고

1. precompile-jsp는 웹 엔진의 다른 명령어와는 다르게 클러스터를 옵션으로 사용하지 않는다.

2. JEUS 6까지는 jspc라는 명령어로 JEUS_HOME/bin 밑에 따로 존재한 배치 컴파일러를 JEUS 7부터는 jeusadmin의 내부 명령어로 통합하였다.

  • 관련 스키마

    web-engine.xsd

  • alias

    jspc

  • 사용법

    precompile-jsp [-server <server-name>]
                   -ctx <context-name>
                   [-e <excluded-jsp-list-file> | -l <included-jsp-list-file>]
  • 파라미터

    파라미터설명
    -ctx <context-name>웹 컨텍스트 이름을 설정한다. EAR 안에 있는 경우 ear-name#context-name으로 입력한다.
    [-e <excluded-jsp-list-file>]

    웹 컨텍스트를 기준으로 컴파일하지 않을 path들을 기술한 텍스트 파일을 지정한다. JSP path들은 Context Root에 대한 상대 경로를 가져야 하며 반드시 슬래시( / )로 시작해야 한다.

    jsp-list-file의 위치는 시스템 절대 경로로 지정한다.

    [-l <included-jsp-list-file>]

    웹 컨텍스트를 기준으로 컴파일할 path들을 기술한 텍스트 파일을 지정한다. JSP path들은 Context Root에 대한 상대 경로를 가져야 하며 반드시 슬래시( / )로 시작해야 한다.

    jsp-list-file의 위치는 시스템 절대 경로로 지정한다.

  • 예제

    precompile-jsp -server server1 -ctx myctx
    
  • 참고

    본 명령어는 서버에 접속하지 않은 상태에서도 사용할 수 있다.

4.2.8.22. reload-web-context

디스크로부터 지정한 Entity(웹 컨텍스트)를 reload한다. 이미 로드된 서블릿(JSP)들과 클래스들을 reload한다. 이 명령어는 서블릿이나 클래스의 reload 기능이 비활성화되어 있을 경우 유용하게 사용할 수 있다(enable-reload, check-class-reload).

  • 관련 스키마

    jeus-web-dd.xsd

  • alias

    webreload, reloadctx

  • 사용법

    reload-web-context [-cluster <cluster-name> | -server <server-name>]
                       -ctx <context-name>
  • 파라미터

    파라미터설명
    -ctx <context-name>reload하려는 컨텍스트이다. 값이 반드시 설정되어야 한다.
  • 예제

    reload-web-context -server server1 -ctx servlets-examples
    

4.2.8.23. remove-web-cookie-policy

웹 엔진의 HTTP Cookie Policy 설정을 삭제한다. 단, XML에만 반영하며 실제로 서비스에 적용하려면 서버를 재시작해야 한다.

  • 관련 스키마

    web-engine.xsd - web-engine/cookie-policy

  • alias

    rmcp, rmcookie

  • 사용법

    remove-web-cookie-policy [-cluster <cluster-name> | -server <server-name>]
                             [-f,--forceLock]
                             [-auer,--apply-url-encoding-rule]
                             [-enc,--charset-encoding]
                             [-vh <virtual-host-name>]
  • 파라미터

    파라미터설명
    [-f, --forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-auer,--apply-url-encoding-rule]URL Encoding Rule 적용 여부를 삭제한다.
    [-enc,--charset-encoding]URL Encoding Rule을 적용할 때 사용하는 Charset Encoding을 삭제한다.
    [-vh <virtual-host-name>]가상 호스트를 지정한다.
  • 예제

    remove-web-cookie-policy -server server1 -auer
    

4.2.8.24. remove-web-encoding

웹 엔진의 Encoding을 삭제한다. 단, XML에만 반영하며 실제로 서비스에 적용하려면 서버를 재시작해야 한다.

  • 관련 스키마

    web-engine.xsd - web-engine/encoding

  • alias

    rmenc

  • 사용법

    remove-web-encoding [-cluster <cluster-name> | -server <server-name>]
                        [-f,--forceLock]
                        [-url]
                        [-req]
                        [-res]
                        [-vh <virtual-host-name>]
  • 파라미터

    파라미터설명
    [-f, --forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-url]Request URL의 Character Set Encoding을 삭제한다.
    [-req]Request의 Character Set Encoding을 삭제한다.
    [-res]Response의 Character Set Encoding을 삭제한다.
    [-vh <virtual-host-name>]가상 호스트를 지정한다.
  • 예제

    remove-web-encoding -server server1 -url
    
    remove-web-encoding -server server1 -req -res
    

4.2.8.25. remove-web-properties

웹 엔진의 프로퍼티 설정을 삭제한다. 삭제되는 프로퍼티는 대소문자를 구별한다. 단, XML에만 반영하며 실제로 서비스에 적용하려면 서버를 재시작해야 한다.

  • 관련 스키마

    web-engine.xsd - web-engine/properties

  • alias

    rmwebpr

  • 사용법

    remove-web-properties [-cluster <cluster-name> | -server <server-name>]
                          [-f,--forceLock]
                          [-a,--all | -k,--keys <keys>]
                          [-vh <virtual-host-name>]
  • 파라미터

    파라미터설명
    [-f, --forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-a,--all | -k,--keys <keys>]
    • -k, --keys <keys>를 이용하여 웹 엔진의 특정 프로퍼티를 삭제한다. 입력값은 대소문자를 구별한다. 한 개 이상의 프로퍼티를 동시에 삭제하고자할 경우 콤마(,)로 구분하여 삭제할 프로퍼티의 key를 설정한다.

    • -a, --all를 이용하면 현재 설정되어있는 프로퍼티를 모두 삭제할 수 있다.

    [-vh <virtual-host-name>]가상 호스트를 지정한다.
  • 예제

    remove-web-properties -server server1 -k jeus.servlet.jsp.compile-java-source-concurrently1
    
    remove-web-properties -server server1 -a
    

4.2.8.26. remove-response-header

웹 엔진의 Response Header 설정을 삭제한다. 삭제되는 Response Header는 대소문자를 구별하지 않는다. 단, XML에만 반영하며 실제로 서비스에 적용하려면 서버를 재시작해야 한다.

  • 관련 스키마

    web-engine.xsd - web-engine/response-header

  • alias

    rmwebrh

  • 사용법

    remove-response-header [-cluster <cluster-name> | -server <server-name>]
                           [-f,--forceLock]
                           [-a,--all | -n,--name <header-name>]
  • 파라미터

    파라미터설명
    [-f, --forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-a,--all | -n,--name <header-name>]
    • -n, --name <header-name>를 이용하여 특정 HTTP Response Header를 삭제한다. 입력값은 대소문자를 구별하지 않는다. 한 개 이상의 Header를 동시에 삭제할 경우 콤마(,)로 구분하여 삭제할 Header의 이름을 설정한다.

    • -a, --all를 이용하면 현재 설정되어있는 HTTP Response Header를 모두 삭제할 수 있다.

  • 예제

    remove-response-header -server server1 -n testheader
    
    remove-response-header -server server1 -n testheader2,testheader4
    
    remove-response-header -server server1 -a
    

4.2.8.27. remove-tmax-connector

Tmax 커넥터를 삭제한다. 단, XML에만 반영하며 실제로 서비스에 적용하려면 서버를 재시작해야 한다.

  • 관련 스키마

    web-engine.xsd - web-engine/web-connections/tmax-connector

  • alias

    rmtmaxcon

  • 사용법

    remove-tmax-connector [-cluster <cluster-name> | -server <server-name>]
                          [-f,--forceLock]
                          <web-connection-name>
  • 파라미터

    파라미터설명
    [-f, --forceLock]설정 변경을 강제로 진행하여 반영한다.
    <web-connection-name>Tmax 커넥터의 이름이다.
  • 예제

    remove-tmax-connector -server server1 tmax1
    

4.2.8.28. remove-virtual-host

가상 호스트를 삭제한다. 단, XML에만 반영하며 실제로 서비스에 적용하려면 서버를 재시작해야 한다.

  • 관련 스키마

    web-engine.xsd - web-engine/virtual-host

  • alias

    rmvh

  • 사용법

    remove-virtual-host [-cluster <cluster-name> | -server <server-name>]
                        [-f,--forceLock]
                        <virtual-host-name>
  • 파라미터

    파라미터설명
    [-f, --forceLock]설정 변경을 강제로 진행하여 반영한다.
    <virtual-host-name>가상 호스트의 이름이다.
  • 예제

    remove-virtual-host -server server1 host2
    

4.2.8.29. remove-web-listener

HTTP, TCP, AJP 리스너를 삭제한다. 단, XML에만 반영하며 실제로 서비스에 적용하려면 서버를 재시작해야 한다. ADMIN-HTTP 리스너는 삭제되지 않는다.

  • 관련 스키마

    web-engine.xsd - web-engine/web-connections/http-listener, ajp13-listener, tcp-listener

  • alias

    rmwebl

  • 사용법

    remove-web-listener [-cluster <cluster-name> | -server <server-name>]
                        [-f,--forceLock]
                        <web-connection-name>
  • 파라미터

    파라미터설명
    [-f, --forceLock]설정 변경을 강제로 진행하여 반영한다.
    <web-connection-name>리스너의 이름이다.
  • 예제

    remove-web-listener -server server1 http1
    

4.2.8.30. remove-webtob-connector

WebtoB 커넥터를 삭제한다. 단, XML에만 반영하며 실제로 서비스에 적용하려면 서버를 재시작해야 한다.

  • 관련 스키마

    web-engine.xsd - web-engine/web-connections/webtob-connector

  • alias

    rmwebtobcon

  • 사용법

    remove-webtob-connector [-cluster <cluster-name> | -server <server-name>]
                            [-f,--forceLock]
                            <web-connection-name>
  • 파라미터

    파라미터설명
    [-f, --forceLock]설정 변경을 강제로 진행하여 반영한다.
    <web-connection-name>WebtoB 커넥터의 이름이다.
  • 예제

    remove-webtob-connector -server server1 webtob1
    

4.2.8.31. resume-web-component

일시 중지된 웹 컴포넌트(서블릿)를 재시작한다.

참고

JEUS 6에서는 명령어 webresume과 webtob -r 명령어로 분리되어있던 것을 JEUS 7부터 통합하였다. 또한 JEUS 7부터 웹 컨텍스트에 대한 시작 명령어는 별도로 제공되지 않는다. DAS의 start-application를 사용해서 제어해야 한다.

  • 관련 스키마

    web-engine.xsd - web-engine/web-connections

  • alias

    webresume

  • 사용법

    resume-web-component [-cluster <cluster-name> | -server <server-name>]
                         [-ctx,--context <context>]
                         -svl,--servlet <servlet> ]
  • 파라미터

    파라미터설명
    [-ctx, --context <context>]

    시작할 서블릿이 포함된 웹 컨텍스트를 설정해야 한다.

    반드시 -svl 옵션과 함께 설정해야 한다.

    application-information -type 옵션을 사용한 명령어를 사용한 조회 결과 중 Module Name에 해당하는 값을 <context>에 설정한다.

    [-svl,--servlet <servlet>]중지된 서블릿 중에서 다시 시작할 서블릿이다. 컨텍스트 옵션이 설정되어 있어야 한다.
  • 예제

    • [-svl,--servlet <servlet>] 옵션을 사용한 예

      resume-web-component -server server1 -ctx servlets -svl CookieExample
      

4.2.8.32. show-request-processing-flow

URL 패턴이나 특정 호스트 이름으로 들어온 요청의 처리 흐름을 조회한다.

  • 관련 스키마

    web-app_3_0.xsd

  • alias

    reqflow

  • 사용법

    show-request-processing-flow [-cluster <cluster-name> | -server <server-name>]
                                 -path <url-pattern>
                                 [-hostname <host-name>]
  • 파라미터

    파라미터설명
    -path <url-pattern>슬래시( / )로 시작하는 URL 패턴이다.
    [-hostname <host-name>]HTTP Host Header에 명시된 호스트 이름이다.
  • 예제

    show-request-processing-flow -server server1 -path /test/index.jsp
    
    show-request-processing-flow -server server1 -path /test -hostname examples.com

4.2.8.33. show-web-engine-configuration

웹 엔진에 대한 설정 정보를 조회한다. 이 명령어를 실행하여 조회되는 구성 항목과 필드들에 대한 정보는 XML의 웹 엔진 구성 레퍼런스를 참고한다.

출력 항목 중 빈 칸으로 표시되는 항목은 XML에 실제 설정이 되어 있지 않음을 의미한다. 즉, 값이 표시되어 있는 경우가 실제 설정되어 있거나, 기본값이 있는 설정이다.

  • 관련 스키마

    web-engine.xsd - web-gine

  • alias

    webcfg, webconf, showwebcfg, showwebconf

  • 사용법

    show-web-engine-configuration [-cluster <cluster-name> | -server <server-name>]
                                  [-vh,--virtual host]
                                  [-cn,--web-connections <connection-type>]
                                  [-al,--access-log]
                                  [-sc,--session-config]
                                  [-rh,--response-header]
                                  [-mo,--monitoring]
                                  [-enc,--encoding]
                                  [-cp,--cookie-policy]
                                  [-jsp,--jsp-engine]
                                  [-pr,--properties]
                                  [-erp,--error-page]
                                  [-att,--async-timeout_thread]
                                  [-ast,--attach-stacktrace]
  • 파라미터

    파라미터설명
    [-vh,--virtual host]가상 호스트의 설정 정보를 출력한다.
    [-cn,--web-connections <connection-type>]모든 웹 커넥션의 설정 정보를 출력한다. 인자를 줄 경우 해당 타입의 커넥션 설정 정보만 출력한다.
    [-al,--access-log]액세스 로그의 설정 정보를 출력한다.
    [-sc,--session-config]웹 엔진의 세션 설정 정보를 출력한다.
    [-rh,--response-header]응답 헤더의 설정 정보를 출력한다.
    [-mo,--monitoring]웹 엔진 모니터링의 설정 정보를 출력한다.
    [-enc,--encoding]웹 엔진의 인코딩 설정 정보를 출력한다.
    [-cp,--cookie-policy]쿠키의 정책 설정 정보를 출력한다.
    [-jsp,--jsp-engine]JSP 엔진의 설정 정보를 출력한다.
    [-pr,--properties]웹 엔진 프로퍼티의 설정 정보를 출력한다.
    [-erp,--error-page]웹 엔진의 기본 오류 페이지 설정 정보를 출력한다.
    [-att,--async-timeout_thread]비동기 서블릿의 타임아웃을 처리하는 Thread 설정 정보를 출력한다.
    [-ast,--attach-stacktrace]오류가 발생할 때 Stack Trace의 추가 여부 설정 정보를 출력한다.
  • 예제

    • 웹 엔진 설정 모두 조회

      show-web-engine-configuration -server server1
      
    • 옵션별 웹 엔진 설정 조회

      show-web-engine-configuration -erp -att -server server1 
      
      show-web-engine-configuration -server server1 -sc
      

4.2.8.34. show-web-statistics

구동 중인 웹 엔진의 JVM에서 사용하는 메모리 정보, 웹 엔진에 속해 있는 각 리스너/커넥터에 대한 Thread Pool의 상태, 컨텍스트에 대한 요청 횟수 및 처리시간 등의 정보를 파라미터 설정에 따라 조회한다.

  • 관련 스키마

    web-engine.xsd

  • alias

    webstats, stat, st

  • 사용법

    show-web-statistics [-server <server-name>]
                        [-ctx,--context <context-name>]
                        [-t,--thread | -s,--session | -r,--request |-m,--memory]
  • 파라미터

    파라미터설명
    [-t,--thread]웹 엔진에 속해 있는 각각의 리스너에 대한 Thread Pool의 상태를 조회한다. 조회되는 정보는 현재 할당된 Worker Thread의 수와 Wait-Queue에 적체된 클라이언트의 수 그리고 Thread Pool을 유지하는 최대 Thread의 개수를 포함한다.
    [-s,--session]

    웹 엔진에 구성된 세션 서버의 커넥션에 대한 정보를 출력한다.

    정보는 현재 연결되어 있는 세션 서버의 이름, 전체 세션의 수, Pool에서 사용된 세션 서버와 커넥션의 수를 포함한다.

    [-r,--request]각 컨텍스트에 대해 처리된 요청의 누적 수치와 평균 처리시간을 출력한다.
    [-m,--memory]구동 중인 웹 엔진에서 현재 JVM에서 사용하고 있는 메모리의 상태를 조회한다.
  • 예제

    ## 리스너 스레드 풀 정보 조회
    show-web-statistics -server server1 -t
    
    ## 세션 서버 정보 확인
    show-web-statistics -server server1 -s
    

4.2.8.35. suspend-web-component

지정한 서블릿을 중지하여 클라이언트로 에러 페이지를 보여주도록 한다.

참고

JEUS 6에서는 websuspend과 webtob -s 명령어로 분리되어있던 것을 JEUS 7부터 통합하였다. 또한 JEUS 7부터 웹 컨텍스트에 대한 중지 명령어는 별도로 제공되지 않는다. DAS의 stop-application을 사용해서 제어해야 한다.

  • 관련 스키마

    web-engine.xsd - web-engine/web-connections

  • alias

    websuspend

  • 사용법

    suspend-web-component [-cluster <cluster-name> | -server <server-name>]
                          [-ctx,--context <context>]
                          -svl,--servlet <servlet>] 
  • 파라미터

    파라미터설명
    [-ctx, --context <context>]

    중지할 서블릿이 포함된 웹 컨텍스트를 설정해야한다. 반드시 -svl 옵션과 함께 설정해야 한다.

    application-information -type 옵션을 이용한 명령어를 사용한 조회 결과 중 Unique Module Name에 해당하는 값을 <context>에 설정한다.

    [-svl,--servlet <servlet>]시작된 서블릿 중에서 중지할 서블릿이다. 컨텍스트 옵션이 설정되어 있어야 한다.
  • 예제

    • [-svl,--servlet <servlet>] 옵션을 사용한 예

      suspend-web-component -svl CookieExample -server server1 -ctx servlets
      

4.2.9. 세션 관련 명령어

세션 명령어를 2가지로 구분하여 설명한다.

  • 모니터링 및 제어

    세션 상태를 확인하거나 제어하기 위한 명령어들이다.

    명령어설명
    list-sessionidle 시간 기준으로 정렬된 세션들의 정보를 보여준다.
    remove-session세션 타임아웃과 무관하게 입력한 타임아웃 동안 access가 없는 세션들을 제거하고자 할 때 사용한다.
  • 설정 변경 관련 명령어

    세션 설정을 추가, 삭제, 수정할 수 있는 명령어들이다. 설정 변경 사항들은 XML에는 적용하지만 실제 운영 중인 서비스(메모리 영역)에 적용하지 않는다. XML만 변경되는 것이며 실제로 서비스에 적용하려면 서버를 재시작해야 한다.

    명령어설명
    show-session-configuration세션 관련 설정 정보를 확인한다.
    modify-session-configuration세션 관련 설정 정보를 확인하고 수정한다.

4.2.9.1. 공통적용 사항

다음은 세션 관련 명령어에서 공통적으로 적용되는 옵션에 대한 설명이다. 아래 옵션 중 하나만 설정될 수 있다.

  • [-cluster <cluster_name> ] 옵션

    • 각 명령어가 적용될 클러스터를 지정할 때 사용하는 옵션이다. 옵션을 설정하지 않으면 현재 접속된 서버의 웹 엔진으로 적용된다.

    • 각 명령어의 옵션 설명에서 이 옵션에 대한 설명은 생략한다.

  • [-server <server_name> ] 옵션

    • 각 명령어가 적용될 서버를 지정할 때 사용하는 옵션이다. 옵션을 설정하지 않으면 현재 접속된 서버의 웹 엔진으로 적용된다.

    • 각 명령어의 옵션 설명에서 이 옵션에 대한 설명은 생략한다.

참고

1. 서버에 즉시 반영이 안되는 설정의 경우 즉, Pending된 설정이 최초의 설정으로 재설정되는 명령어를 수행하면, 서버의 재시작이 필요하다는 안내문(Restart the Server)이 출력되지 않는다.

2. DAS의 경우는 위 옵션 중 하나는 반드시 필요하다. 그렇지만 DAS가 아닌 일반 관리 서버에서 해당 명령어를 실행할 경우에는 아래 옵션들이 없을 경우 접속한 서버를 기반으로 명령이 수행된다.

4.2.9.2. list-session

idle 시간 기준으로 정렬된 세션들의 정보를 보여준다.

  • 관련 스키마

    jeus-session-server.xsd, jeus-session-domain.xsd

  • alias

    lisession, lss

  • 사용법

    list-session [-server <server-name>]
              [-s,--simple ]
              [-c,--count <int count: default=100>]
              [-t,--target <String managerName>]
  • 파라미터

    파라미터설명
    [-s,--simple ]출력되는 결과를 Simple format으로 출력한다.
    [-c,--count <int count: default=100>]모니터링으로 확인될 세션들의 갯수를 설정한다. 생략하면 100개가 기본으로 적용된다.
    [-t,--target <String managerName>]세션 정보를 보고 싶은 타겟 세션 매니저를 설정한다. 옵션을 주지 않을 경우 서버 내 모든 매니저의 정보를 보여준다.
  • 예제

    • 별도 옵션을 사용하지 않는 예

      list-session -server server1 
    • [-s,--simple ] 옵션을 사용한 예

      list-session -server server1 --simple 

4.2.9.3. modify-session-configuration

세션 관련 설정 정보를 수정한다.

  • 관련 스키마

    jeus-session-server.xsd, jeus-session-domain.xsd

  • alias

    setsc, msc

  • 사용법

    modify-session-configuration [-basic]
              [-common]
              [-server <server-name>]
              [-cluster <cluster-name>]
              [-specific <cluster-name>]
              [-f,--forceLock]
              [-cm,--cluster-mode <String mode(DEFAULT or DOMAIN_WIDE)>]
              [-sp,--session-provider <String provider>]
              [-ed,--exclusive-das <boolean exclude>]
              [-se,--sticky-encoding <String mode(BASE64 or RAW)>]
              [-to,--timeout <int timeout>]
              [-mc,--max-session-count <int limit count>]
              [-sh,--shared <boolean shared>]
              [-rp,--reload-persistent <boolean reload-persistent>]
              [-tmc,--tracking-mode.cookie <boolean enable-cookie>]
              [-tmu,--tracking-mode.url <boolean enable-url>]
              [-tms,--tracking-mode.ssl <boolean enable-ssl>]
              [-scn,--session-cookie.cookie-name <string cookie-name>]
              [-scv,--session-cookie.version <int version(1 or 0)>]
              [-scd,--session-cookie.domain <string domain-scope>]
              [-scp,--session-cookie.path <string path-scope>]
              [-scm,--session-cookie.max-age <int max-age(sec)>]
              [-scs,--session-cookie.secure <boolean secure]
              [-sch,--session-cookie.http-only <boolean http-only>]
              [-scc,--session-cookie.comment <string comment>]
              [-tn,--reserved-thread-num <int thread-num>]
              [-ct,--connection-timeout <long connection-timeout (msec)>]
              [-rt,--read-timeout <long read-timeout (msec)>]
              [-fb,--allow-fail-back <boolean allow>]
              [-fc,--ignore-flow-control <boolean ignore>]
              [-bl,--backup-level <string backup-level>]
              [-bu,--backup-unit-size <int unit-size>]
              [-bq,--backup-queue-size <int queue-size>]
              [-pm,--prevent-migration <boolean prevent>]
              [-fd,--failover-delay <long failover delays(s)>]
              [-rd,--restart-delay <long restart delays(s)>]
              [-lmp,--login-manager.primary <string primary login manager>]
              [-lms,--login-manager.secondary <string secondary login manager>]
              [-pfp,--passivation.file-path <string file-path>]
              [-pto,--passivation.timeout <long passivation-timeout (mesc)>]
              [-pct,--passivation.count-threshold <int count-threshold>]
              [-pmt,--passivation.memory-threshold <int memory-threshold (byte)>]
              [-pfl,--passivation.file-limit <int limit-count>]
              [-ppr,--passivation.ratio <float passivation-ratio>]
              [-add,--add-config]
              [-addScope,--add-specific-scope]
              [-removeScope,--remove-specific-scope]
              [-remove,--remove-config]
  • 파라미터

    파라미터설명
    [-basic]

    도메인 전체에 적용되는 설정에 대한 옵션이다.

    Cluster Mode와 Provider 등에 대한 설정을 변경한다.

    [-common]공통으로 설정할 수 있는 분산식 세션 서버 설정을 변경한다.
    [-server <server-name>]웹 엔진에 설정된 세션 설정을 변경한다.
    [-cluster <cluster-name>]설정된 클러스터의 분산식 세션 서버 설정을 변경한다.
    [-specific <cluster-name>]특별 정의 스코프의 분산식 세션 서버 설정을 변경한다.
    [-f, --forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-cm,--cluster-mode <String mode(DEFAULT or DOMAIN_WIDE)]

    사용할 Cluster Mode를 선택한다.

    • DEFAULT

    • DOMAIN_WIDE

    [-sp,--session-provider <String provider]

    사용한 Session Manager Provier를 설정한다.

    RUNTIME 또는 JEUS를 설정하거나 사용한 패키지를 설정한다.

    [-ed,--exclusive-das <boolean exclude]DAS를 Cluster에 참여하지 않도록 설정한다. DOMAIN_WIDE일 경우 의미가 있다.
    [-se,--sticky-encoding <String mode(BASE64 or RAW)]

    Sticky Routing을 수행할 때 ID를 인코딩할 방법을 설정한다.

    • BASE64

    • RAW

    [-to,--timeout <int timeout>]session-config의 세션 타임아웃을 설정한다.
    [-mc,--max-session-count <int maxCount>]저장할 세션의 최대 갯수를 설정한다.
    [-sh,--shared <boolean shared>]session-config의 SHARED 모드를 설정한다.
    [-rp,--reload-persistent <boolean reload-persistent>]session-config의 Reload Persistent를 설정한다.
    [-tmc,--tracking-mode.cookie <boolean enable-cookie>]session-config의 트래킹 모드 중 쿠키를 설정한다.
    [-tmu,--tracking-mode.url <boolean enable-url>]session-config의 트래킹 모드 중 URL rewriting을 설정한다.
    [-tms,--tracking-mode.ssl <boolean enable-ssl>]session-config의 트래킹 모드 중 SSL을 설정한다.
    [-scn,--session-cookie.cookie-name <string cookie-name>]세션 쿠키의 이름을 설정한다.
    [-scv,--session-cookie.version <int version(1 or 0)>]세션 쿠키의 컴파일 버전을 선택한다.
    [-scd,--session-cookie.domain <string domain-scope>]세션 쿠키의 도메인 범위를 결정한다.
    [-scp,--session-cookie.path <string path-scope>]세션 쿠키의 path 범위를 결정한다.
    [-scm,--session-cookie.max-age <int max-age>]브라우저에서 세션 쿠키의 유지 시간을 결정한다.
    [-scs,--session-cookie.secure <boolean secure>]브라우저가 쿠키를 SSL에 제한되게 전송할지를 결정한다.
    [-sch,--session-cookie.http-only <boolean http-only>]브라우저가 HTTP 요청에 의해서만 세션 쿠키를 사용할지를 결정한다.
    [-scc,--session-cookie.comment <string comment>]쿠키 버전이 1일 때에 해당 세션 쿠키의 설명을 설정한다.
    [-tn,--reserved-thread-num <int thread-num>]분산식 세션 서버의 요청 처리 Thread 할당 개수의 최솟값을 강제한다.
    [-ct,--connection-timeout <long connection-timeout>]분산식 세션 서버의 소켓 커넥션 초기화 타임아웃을 결정한다.
    [-rt,--read-timeout <long read-timeout>]분산식 세션 서버의 요청 응답의 타임아웃을 설정한다.
    [-fb,--allow-fail-back <boolean allow>]분산식 세션 서버의 fail back기능을 사용한다.
    [-fc,--ignore-flow-control <boolean ignore>]백업 큐가 가득 차더라도 세션 유실보다는 서비스가 우선시 되기에 Flow control를 하지 않는다.
    [-bl,--backup-level <string backup-level>]분산식 세션 서버의 업데이트 기준을 결정한다.
    [-bu,--backup-unit-size <int unit-size>]부하가 있을 경우 최대로 백업을 함께 수행할 세션 갯수를 설정한다.
    [-bq,--backup-queue-size<int queue-size>]부하가 있을 경우 최대한 큐에 몇 개의 백업 Unit을 수용할지를 설정한다.
    [-pm,--prevent-migration <boolean prevent>]성능상 좋지 않더라도 동시 요청에 의해 세션 유실을 최소화 하기 위해 마이그레이션을 수행하지 않도록 설정한다.
    [-fd,--failover-delay <long failover delays(s)>]웹 엔진에 장애가 발생하였을 때 해당 엔진을 제외한 나머지 엔진에서 다시 클러스터링 연결을 맺을 타임아웃 값이다.
    [-rd,--restart-delay <long restart delays(s)>]웹 엔진을 정상적으로 다운시켰을 때 해당 엔진을 제외한 나머지 엔진에서 다시 클러스터링 연결을 맺는 타임아웃이다.
    [-lmp,--login-manager.primary <string primary>]JEUS 로그인 매니저의 Prrimary를 설정한다.
    [-lms,--login-manager.secondary <string secondary>]JEUS 로그인 매니저의 Secondary를 설정한다.
    [-pfp,--passivation.file-path <string file-path]Passivation을 설정할 때 해당 파일이 저장된 절대 경로를 설정한다.
    [-pto,--passivation.timeout <long passivation-timeout (mesc)]Passivation을 수행할 타임아웃을 설정한다. idle time이 해당 타임아웃 보다 클 경우 passivation된다.
    [-pct,--passivation.count-threshold <int count-threshold]Passivation을 수행하는 Active한 세션 갯수를 설정한다. 해당 갯수가 넘게 되면 오래된 세션부터 passivation된다.
    [-pmt,--passivation.memory-threshold <int memory-threshold (byte)]Passivation을 수행하는 메모리 크기를 설정한다. 해당 byte size가 넘게 되면 오래된 세션부터 passivation된다.
    [-pfl,--passivation.file-limit <int limit-count]한 디렉터리에 저장하는 최대 파일 갯수를 설정한다.
    [-ppr,--passivation.ratio <float passivation-ratio]갯수나 메모리 크기를 기준으로 passivation을 수행할 경우 어느 정도를 passivation할지에 대한 비율을 설정한다.
    [-add,--add-config]Cluster나 Specific cluster의 분산식 세션 서버 설정을 새로 작성한다. 추가할 때 Common 설정은 무시된다.
    [-addScope,--add-specific-scope]Specific cluster의 Scope만 추가한다. Specific cluster의 세션 서버 설정은 하지 않고 Common 설정이 사용된다.
    [-removeScope,--remove-specific-scope]Specific cluster의 Scope을 제거한다. Specific Cluster의 세션 서버 설정의 유무와 관계없이 해당 Scope를 제거한다.
    [-remove,--remove-config]Cluster나 Specific cluster의 분산식 세션 서버 설정을 제거한다. 제거할 때 Common 설정이 사용된다.
  • 예제

    • [-server <server-name>] 옵션을 사용한 예

      modify-session-configuration -server server1 -to 40 -sh true -scs true
    • [-cluster <cluster-name>] 옵션을 사용한 예

      modify-session-configuration -cluster distribute -tn 1 -ct 3000            

4.2.9.4. remove-session

Idle Time 기준으로 설정한 시간이 지난 세션을 제거한다.

  • 관련 스키마

    jeus-session-server.xsd, jeus-session-domain.xsd

  • alias

    rmsession, rms

  • 사용법

    remove-session [-server <server-name>]
                 [-time,--timeout <int timeout(min)>] 
  • 파라미터

    파라미터설명
    [-time,--timeout <int timeout(min)>]세션을 제거할 기준이 되는 타임아웃을 설정한다.
  • 예제

    • [-time,--timeout <int timeout(min)>]을 사용한 예

      remove-session -server server1 --timeout 3                            

4.2.9.5. show-session-configuration

세션 관련 설정 정보를 조회한다.

  • 관련 스키마

    jeus-session-server.xsd, jeus-session-domain.xsd

  • alias

    getsc, ssc

  • 사용법

    show-session-configuration [-basic]
              [-common]
              [-server <server-name>] 
              [-cluster <cluster-name>] [-specific <cluster-name>] 
              [-h, --help]
    
  • 파라미터

    파라미터설명
    [-basic]

    도메인 전체에 적용되는 설정에 대한 옵션이다.

    Cluster Mode와 Provider 등에 대한 설정이 존재한다.

    [-common]공통으로 설정할수 있는 분산식 세션 서버 설정을 확인한다.
    [-server <server-name>]웹 엔진에 설정된 세션 설정을 확인한다.
    [-cluster <cluster-name>]설정된 클러스터의 분산식 세션 서버 설정을 확인한다.
    [-specific <cluster-name>]특별 정의 스코프의 분산식 세션 서버 설정을 확인한다.
    [-h, --help]파라미터 없는 명령어와 동일하며 전체적인 설정 구조 및 파라미터들을 설명한다.
  • 예제

    • [-server <server-name>] 옵션을 사용한 예

      show-session-configuration -server server1            
    • [-cluster <cluster-name>] 옵션을 사용한 예

      show-session-configuration -cluster cluster1            

4.2.10. JMS 엔진 관련 명령어

JMS 엔진 명령어는 다음과 같다.

명령어설명
add-jms-connection-factory새로운 Connection Factory를 추가한다.
add-jms-destination새로운 Destination를 추가한다.
ban-jms-client지정된 JMS 클라이언트와의 연결을 강제로 끊는다.
commit-jms-pending-transaction지정된 pending 트랜잭션을 강제로 commit한다.
control-jms-destination지정된 Destination의 서비스 상태를 제어한다.
delete-jms-messages지정된 Destination 안의 지정된 메시지를 삭제한다.
export-jms-messages지정된 Destination 안의 지정된 메시지를 XML 형태로 내보낸다.
import-jms-messages지정된 Destination로 내보내진 XML 형태의 메시지를 가져온다.
list-jms-clients접속 중인 클라이언트 목록을 조회하고 정보를 출력한다.
list-jms-connection-factoriesConnection Factory 목록을 조회하거나 지정된 Conntection Factory의 정보를 출력한다.
list-jms-destinationsDestination 목록을 조회하거나 지정된 Destination 정보를 출력한다.
list-jms-durable-subscriptionsDurable Subscriber 목록을 조회한다.
list-jms-messages지정된 Destination 안의 메시지 정보를 조회한다.
list-jms-pending-transactionspending 트랜잭션 목록을 출력한다.
move-jms-messages지정된 Destination 안의 지정된 메시지를 주어진 Destination으로 옮긴다.
remove-jms-connection-factory지정된 Connection Factory를 제거한다.
remove-jms-destination지정된 Destination을 제거한다.
view-jms-message지정된 메시지의 상세한 정보를 조회한다.

4.2.10.1. 공통적용 사항

다음은 JMS 엔진 관련 명령어에서 공통적으로 적용되는 옵션에 대한 설명이다. 아래 옵션 중 하나만 설정될 수 있다.

  • [-cluster <cluster-name> ] 옵션

    • 각 명령어가 적용될 클러스터를 지정할 때 사용하는 옵션이다. DAS에 연결된 상태에서만 사용 가능하다. MS에 접속된 상태에서는 해당 서버에 명령어가 적용된다.

    • Destination에 관련된 명령어에서만 지원한다.

  • [-server <server-name> ] 옵션

    • 각 명령어가 적용될 서버를 지정할 때 사용하는 옵션이다. DAS에 연결된 상태에서만 사용 가능하다. MS에 접속된 상태에서는 해당 서버에 명령어가 적용된다.

    • Destination에 관련된 것 이외의 명령어에서만 지원한다.

4.2.10.2. add-jms-connection-factory

동적으로 JMS 엔진에 새로운 Connection Factory를 추가한다. Queue 또는 Topic Connection Factory를 생성할 수 있다.

  • alias

    add-connection-factory, addconf, createconf

  • 사용법

    add-jms-connection-factory -server <server-name>
                               -type <factory-type>
                               -name <factory-name>
                               [-export <export name>]                           
                               [-clientid <client-id>]
  • 파라미터

    파라미터설명
    -server <server-name>대상이 되는 서버를 설정한다.
    -type <factory-type>

    Connection Factory의 type을 결정한다.

    다음 중에 하나를 설정한다.

    • nonxa

    • xa

    • queue

    • topic

    • xaqueue

    • xatopic

    -name <factory-name>

    새로 생성할 Connection Factory의 이름을 입력한다.

    이 이름은 JMS 엔진 내에서 다른 Connection Factory와 중복되지 않도록 주의한다.

    [-export <export name>]

    새로 생성할 Connection Factory의 JNDI 이름을 입력한다.

    이 이름은 JEUS JNDI 서버 내에서 다른 객체와 중복되지 않도록 주의한다.

    [-clientid <client-id>]Connection Factory로부터 생성한 커넥션에 부여할 클라이언트 ID를 입력한다.
  • 예제

    [DAS]domain1.adminServer>add-jms-connection-factory -server adminServer -type nonxa -name MyConnectionFactory
    Executed Successfully
    View the results using 'list-jms-connection-factories -server adminServer -name MyConnectionFactory'
    [DAS]domain1.adminServer>list-jms-connection-factories -server adminServer
    Connection Factory Information
    ================================================================================
    +-------------------------------------+--------------------------------+-------+
    |             Factory Name            |           Export Name          |  Type |
    +-------------------------------------+--------------------------------+-------+
    | ConnectionFactory                   | ConnectionFactory              | nonxa |
    | MyConnectionFactory                 | MyConnectionFactory            | nonxa |
    | XAConnectionFactory                 | XAConnectionFactory            | xa    |
    +-------------------------------------+--------------------------------+-------+
    ================================================================================

4.2.10.3. add-jms-destination

동적으로 JMS 엔진에 새로운 Destination을 추가한다.

  • alias

    add-destination, adddest, createdest

  • 사용법

    add-jms-destination -cluster <cluster-name | -server <server-name>
                        -type <destination-type>
                        -name <destination-name>
                        [-export <export-name>]
  • 파라미터

    파라미터설명
    -cluster <cluster-name | -server <server-name>Destination이 속할 클러스터 또는 서버를 지정한다.
    -type <destination-type>Destination의 type을 결정한다. (queue 또는 topic)
    -name <destination-name>

    새로 생성할 Destination의 이름을 입력한다.

    이 이름은 JMS 엔진 내에서 다른 Destination과 중복되지 않도록 주의한다.

    [-export <export-name>]

    새로 생성할 Destination의 JNDI 이름을 입력한다.

    이 이름은 JEUS JNDI 서버 내에서 다른 객체와 중복되지 않도록 주의한다. 지정하지 않으면 destination-name과 동일한 값이 지정된다.

  • 예제

    [DAS]domain1.adminServer>add-jms-destination -server adminServer -type queue -name MyQueue
    Executed Successfully
    View the results using 'list-jms-destinations -server adminServer -name MyQueue'
    [DAS]domain1.adminServer>list-jms-destinations -server adminServer
    Destination information in Server adminServer
    ================================================================================
    +---------+---------+-------+------------+-------------+-----------+-----------+
    |   Name  |  Export |  Type |  Remaining | Dead Letter |  Produce  |  Consume  |
    |         |  Name   |       |  Messages  | Destination | Suspended | Suspended |
    +---------+---------+-------+------------+-------------+-----------+-----------+
    | MyQueue | MyQueue | Queue |          0 | JEUSMQ_DLQ  | false     | false     |
    +---------+---------+-------+------------+-------------+-----------+-----------+
    | Examples| Examples| Topic |          0 | JEUSMQ_DLQ  | false     | false     |
    |Topic    |Topic    |       |            |             |           |           |
    +---------+---------+-------+------------+-------------+-----------+-----------+
    | Examples| Examples| Queue |          0 | JEUSMQ_DLQ  | false     | false     |
    |Queue    |Queue    |       |            |             |           |           |
    +---------+---------+-------+------------+-------------+-----------+-----------+
    | JEUSMQ_D| JEUSMQ_D| Queue |          0 | JEUSMQ_DLQ  | false     | false     |
    |LQ       |LQ       |       |            |             |           |           |
    +---------+---------+-------+------------+-------------+-----------+-----------+
    
    For detailed information, use the -name option 
    ==============================================================================

4.2.10.4. ban-jms-client

JMS 클라이언트와의 연결을 강제로 끊는다.

  • alias

    killentry, banentry

  • 사용법

    ban-jms-client -server <server-name>
                   -name <entry-name>
  • 파라미터

    파라미터설명
    -server <server-name>대상이 되는 서버를 설정한다.
    -name <entry-name>강제로 연결을 끊을 JMS 클라이언트의 이름을 설정한다. 이 이름은 list-jms-clients 명령어로 확인할 수 있다.

4.2.10.5. commit-jms-pending-transaction

Pending 트랜잭션을 강제로 commit한다.

  • alias

    jmsptcommit, ptcommit

  • 사용법

    commit-jms-pending-transaction -server <server-name>
                                   -id <tx-id>
  • 파라미터

    파라미터설명
    -server <server-name>대상이 되는 서버를 설정한다.
    -id <tx-id>강제로 commit할 트랜잭션의 ID이다. ID는 list-jms-pending-transactions 명령으로 확인할 수 있다.

4.2.10.6. control-jms-destination

JMS 엔진에서 특정 Destination의 상태를 제어한다.

  • alias

    destctrl

  • 사용법

    control-jms-destination -cluster <cluster-name | -server <server-name>
                            -dest <destination-name>
                            -suspend | -resume
                            [-produce]
                            [-consume]
  • 파라미터

    파라미터설명
    -cluster <cluster-name | -server <server-name>Destination이 속한 클러스터 또는 서버를 지정한다.
    -dest <destination-name>제어할 Destination의 이름이다.
    -suspend| -resume

    제어할 Destination의 상태이다.

    • suspend : 해당 Destination의 서비스가 일시 정지된다.

    • resume : 해당 Destination의 서비스가 재개된다.

    [-produce]지정된 Destination에 produce를 제어할지를 지정한다.
    [-consume]지정된 Destination에서의 consume을 제어할지를 지정한다.
  • 예제

    [DAS]domain1.adminServer>control-jms-destination -server adminServer -dest ExamplesQueue -suspend -produce
    Controlling destination is successful in ExamplesQueue : [production] is suspended
    [DAS]domain1.adminServer>control-jms-destination -server adminServer -dest ExamplesQueue -resume -produce
    Controlling destination is successful in ExamplesQueue : [production] is resumed

4.2.10.7. delete-jms-messages

Queue나 Durable subscriber에 쌓여있는 특정 메시지 또는 메시지 전체를 삭제한다.

  • alias

    deletemsg, deletemessage, removemsg, removemessage, rmmsg

  • 사용법

    delete-jms-message -cluster <cluster-name> | -server <server-name>
                   -dest <destination-name> | -durable <<client-id>_<durable-name>>
                   -id <message-id> | -all 
  • 파라미터

    파라미터설명
    -cluster <cluster-name> | -server <server-name>삭제할 메시지가 있는 Destination이나 Durable subscriber가 속한 클러스터나 서버를 지정한다.
    -dest <destination-name> | -durable <<client-id>_<durable-name>>삭제할 메시지가 있는 Destination이나 Durable subscriber의 이름이다.
    -id <message-id> | -all삭제할 메시지를 지정한다. 개별 ID를 지정하거나 모든 메시지를 지정할 수 있다.

4.2.10.8. export-jms-messages

지정된 Destination의 특정 메시지들을 XML 형태로 내보낸다.

  • alias

    exmsg

  • 사용법

    export-jms-message  -cluster <cluster-name> | -server <server-name>
                     -dest <destination-name> | -durable <<client-id>_<durable-name>>
                     -path <file-path>
                     -id <message-id> | -all
  • 파라미터

    파라미터설명
    -cluster <cluster-name> | -server <server-name>내보낼 메시지가 있는 Destination이나 Durable subscriber가 속한 클러스터나 서버를 지정한다.
    -dest <destination-name> | -durable <<client-id>_<durable-name>>내보낼 메시지가 있는 Destination이나 Durable subscriber의 이름이다.
    -path <file-path>내보낼 메시지가 저장될 파일의 경로를 지정한다.
    -id <message-id> | -all내보낼 메시지를 지정한다. 개별 ID를 지정하거나 모든 메시지를 지정할 수 있다.
  • 예제

    [DAS]domain1.adminServer>export-jms-messages -server adminServer -dest ExamplesQueue -all -path exported.xml
    Successfully exported 5 messages. 

4.2.10.9. import-jms-messages

Destination에 내보내진 XML 파일로부터 메시지들을 가져온다.

  • alias

    immsg

  • 사용법

    import-jms-message  -cluster <cluster-name> | -server <server-name>
                       -dest <destination-name>
                       -path <file-path>
                       [-overwrite] 
  • 파라미터

    파라미터설명
    -cluster <cluster-name> | -server <server-name>메시지를 가져올 Destination이 속한 클러스터나 서버를 지정한다.
    -dest <destination-name>메시지를 가져올 Destination의 이름이다.
    -path <file-path>가져올 메시지가 저장된 파일의 경로를 지정한다.
    [-overwrite]가져올 메시지의 JMSMessageID를 새로 발급하지 않는다. 같은 ID가 존재하는 경우 덮어 쓴다.
  • 예제

    [DAS]domain1.adminServer>list-jms-messages -server adminServer -dest ExamplesQueue
    There are no messages in ExamplesQueue.
    [DAS]domain1.adminServer>import-jms-messages -server adminServer -dest ExamplesQueue -path exported.xml
    Successfully imported 5 of 5 messages.
    [DAS]domain1.adminServer>list-jms-messages -server adminServer -dest ExamplesQueue
    Messages in Destination ExamplesQueue 
    ====================================================================================
    +----------------------------+--------------+--------------------------------------+
    |         Message ID         | Message Type |             Created Time             |
    +----------------------------+--------------+--------------------------------------+
    | ID:796886517700001:1:5     | Text         | Tue Nov 19 19:52:54 KST 2016         |
    | ID:796886517700001:1:6     | Text         | Tue Nov 19 19:52:54 KST 2016         |
    | ID:796886517700001:1:7     | Text         | Tue Nov 19 19:52:54 KST 2016         |
    | ID:796886517700001:1:8     | Text         | Tue Nov 19 19:52:54 KST 2016         |
    | ID:796886517700001:1:9     | Text         | Tue Nov 19 19:52:54 KST 2016         |
    +----------------------------+--------------+--------------------------------------+
    ====================================================================================

4.2.10.10. list-jms-clients

현재 접속해 있는 모든 클라이언트의 목록을 조회한다.

  • alias

    jmsclient, jmsentry

  • 사용법

    list-jms-clients -server <server-name>
  • 파라미터

    파라미터설명
    -server <server-name>클라이언트의 목록을 조회할 서버를 지정한다.
  • 예제

    [DAS]domain1.adminServer>list-jms-clients -server adminServer
    JEUS MQ client information
    ================================================================================
    +---------------+----------------------+------------------+----------+---------+
    |   Entry Name  |    Remote Address    |    Start Time    |Connection| Session |
    |               |                      |                  |  Count   |  Count  |
    +---------------+----------------------+------------------+----------+---------+
    | JMSClient-RE63| 192.168.34.33/192.168| Tue Nov 07       |        1 |       1 |
    |675900002      |.34.33:49490          |16:14:32 KST 2016 |          |         |
    +---------------+----------------------+------------------+----------+---------+
    | JMSClient-RE63| 192.168.34.33/192.168| Tue Nov 07       |        1 |       1 |
    |675900001      |.34.33:49484          |16:14:23 KST 2016 |          |         |
    +---------------+----------------------+------------------+----------+---------+
    ================================================================================

4.2.10.11. list-jms-connection-factories

JMS 엔진에 등록되어 있는 모든 Connection Factory들의 정보를 조회하거나 지정된 Connection Factory의 정보를 출력한다.

  • alias

    jmscf, jmsconf

  • 사용법

    list-jms-connection-factoryies -server <server-name>
                                   [-n, --name <factory-name>]
  • 파라미터

    파라미터설명
    -server <server-name>Connection Factory가 속한 서버를 지정한다.
    [-n, --name <factory-name>]정보를 출력할 Connection Factory의 이름이다. 지정하지 않으면 모든 Connection Factory에 관한 간략한 정보가 출력된다.
  • 예제

    [DAS]domain1.adminServer>list-jms-connection-factories -server adminServer
    Connection Factory Information
    ================================================================================
    +-------------------------------------+--------------------------------+-------+
    |             Factory Name            |           Export Name          |  Type |
    +-------------------------------------+--------------------------------+-------+
    | ConnectionFactory                   | ConnectionFactory              | nonxa |
    | XAConnectionFactory                 | XAConnectionFactory            | xa    |
    +-------------------------------------+--------------------------------+-------+
    ================================================================================
    
    [DAS]domain1.adminServer>list-jms-connection-factories -server adminServer -name ConnectionFactory
    ===================================================================
    ConnectionFactory
    
    +---------------------------------------------+-------------------+
    | Factory Name                                | ConnectionFactory |
    | Export Name                                 | ConnectionFactory |
    | Type                                        | nonxa             |
    | Client ID                                   | not-set           |
    | Clustered                                   | false             |
    | Broker Selection Policy                     | round-robin       |
    +---------------------------------------------+-------------------+
    ===================================================================
    
    ================================================================================
    +------------------------------------------------------------------------------+
    |                                   Addresses                                  |
    +------------------------------------------------------------------------------+
    | 192.168.0.26:9741(JMSServiceChannel-internal)                                |
    +------------------------------------------------------------------------------+
    ================================================================================
    

4.2.10.12. list-jms-destinations

JMS 엔진에 등록되어 있는 모든 Destination의 목록을 조회하거나 지정한 Destination의 정보를 출력한다.

  • alias

    jmsdest, dest

  • 사용법

    list-jms-destinations -cluster <cluster-name> | -server <server-name>
                          [-n, --name <destination-name>] 
  • 파라미터

    파라미터설명
    -cluster <cluster-name> | -server <server-name>Destination이 속한 클러스터 또는 서버를 지정한다.
    [-n, --name <destination-name>]정보를 출력할 Destination의 이름이다. 지정하지 않으면 모든 Destination에 대한 간략한 정보가 출력된다.
  • 예제

    [[DAS]domain1.adminServer>list-jms-destinations -server adminServer
    Destination information in Server adminServer
    ================================================================================
    +---------+---------+-------+------------+-------------+-----------+-----------+
    |   Name  |  Export |  Type |  Remaining | Dead Letter |  Produce  |  Consume  |
    |         |  Name   |       |  Messages  | Destination | Suspended | Suspended |
    +---------+---------+-------+------------+-------------+-----------+-----------+
    | Examples| Examples| Topic |          0 | JEUSMQ_DLQ  | false     | false     |
    |Topic    |Topic    |       |            |             |           |           |
    +---------+---------+-------+------------+-------------+-----------+-----------+
    | Examples| Examples| Queue |          0 | JEUSMQ_DLQ  | false     | false     |
    |Queue    |Queue    |       |            |             |           |           |
    +---------+---------+-------+------------+-------------+-----------+-----------+
    | JEUSMQ_D| JEUSMQ_D| Queue |          0 | JEUSMQ_DLQ  | false     | false     |
    |LQ       |LQ       |       |            |             |           |           |
    +---------+---------+-------+------------+-------------+-----------+-----------+
                  
    For detailed information, use  the -name option 
    ================================================================================
    [DAS]domain1.adminServer>list-jms-destinations -server adminServer -name ExamplesQueue
    Detailed destination information in Server adminServer
    ==================================================================
    ExamplesQueue
                  
    +------------------------------------------------+---------------+
    | Export Name                                    | ExamplesQueue |
    | Type                                           | Queue         |
    | Dead Letter Destination                        | JEUSMQ_DLQ    |
    | Consumer Count                                 |             0 |
    | Processed Messages                             |             0 |
    | Remaining Messages                             |             0 |
    | Pending Messages                               |             0 |
    | Dispatched Messages                            |             0 |
    | Delivered Messages                             |             0 |
    | Expired Messages                               |             0 |
    | Moved Messages                                 |             0 |
    | Memory Usage (current)                         | 0kb           |
    | Memory Usage (high mark)                       | 0kb           |
    | Produce Suspended                              | false         |
    | Consume Suspended                              | false         |
    +------------------------------------------------+---------------+
    ==================================================================

4.2.10.13. list-jms-durable-subscriptions

JMS 엔진에 등록되어 있는 모든 Durable Subscriber들의 정보를 조회하거나 지정된 Durable Subscriber의 정보를 출력한다.

  • alias

    durable, dur

  • 사용법

    list-jms-durable-subscriptions -cluster <cluster-name> | -server <server-name>
  • 파라미터

    파라미터설명
    -cluster <cluster-name> | -server <server-name>Durable Subscriber의 목록을 조회할 클러스터나 서버를 지정한다.
  • 예제

    [DAS]domain1.adminServer>list-jms-durable-subscriptions -server adminServer
    Durable Subscription information
    
    ==============================================================================
    +----------------+-----------+---------------------+-------------------------+
    |  Durable Name  | Client ID |   Message Selector  |    Remaining Messages   |
    +----------------+-----------+---------------------+-------------------------+
    | testDurable    | testClient|                     |                       5 |
    +----------------+-----------+---------------------+-------------------------+
    ==============================================================================

4.2.10.14. list-jms-messages

Destination의 메시지들의 정보를 출력한다.

  • alias

    message, msg

  • 사용법

    list-jms-messages -cluster <cluster-name> | -server <server-name>
                    -dest <destination-name> | -durable <<client-id>_<durable-name>>
                    [-s,--selector <message-selector>]
                    [-offset <offset>]
                    [-size <size>]
                    [-id <message-id-pattern>]
                    [-type <message-type>]
                    [-from <YYYY:MM:DD:HH:MM:SS>]
                    [-to <YYYY:MM:DD:HH:MM:SS>]
  • 파라미터

    파라미터설명
    -cluster <cluster-name> | -server <server-name>Destination이나 Durable subscriber가 속한 클러스터나 서버를 지정한다.
    -dest <destination-name> | -durable <<client-id>_<durable-name>>출력할 메시지가 있는 Destination이나 Durable subscriber의 이름이다.
    [-s, --seletor <message-selector>]출력할 메시지를 선택할 수 있는 Message selector를 지정한다.
    [-offset <offset>]메시지를 나누어 출력할 때 몇 번째 메시지부터 출력할지를 지정한다.
    [-size <size>]메시지를 나누어 출력할 때 한 번에 출력할 메시지의 개수를 지정한다.
    [-id <message-id-pattern>]출력할 메시지를 선택할 수 있는 message id의 패턴을 지정한다.
    [-type <message-type>]출력할 메시지를 선택할 수 있는 메시지의 타입을 지정한다.
    [-from <YYYY:MM:DD:HH:MM:SS>]특정 시점 이후에 들어온 메시지를 선택할 때 그 시점을 지정한다.
    [-to <YYYY:MM:DD:HH:MM:SS>]특정 시점 이전에 들어온 메시지를 선택할 때 그 시점을 지정한다.
  • 예제

    [DAS]domain1.adminServer>list-jms-messages -server adminServer -dest ExamplesQueue
    Messages in Destination ExamplesQueue.
    
    ==================================================================================
    +-----------------------------+-------------+------------------------------------+
    |          Message ID         | Message Type|            Created Time            |
    +-----------------------------+-------------+------------------------------------+
    | ID:7968865177000001:1:1     | Text        | Mon Nov 07 20:10:01 KST 2016       |
    | ID:7968865177000001:1:2     | Text        | Mon Nov 07 20:10:03 KST 2016       |
    | ID:7968865177000001:1:3     | Text        | Mon Nov 07 20:10:04 KST 2016       |
    | ID:7968865177000001:1:4     | Text        | Mon Nov 07 20:10:06 KST 2016       |
    +-----------------------------+-------------+------------------------------------+
    ==================================================================================

4.2.10.15. list-jms-pending-transactions

indoubt 상태의 트랜잭션 목록들을 조회한다.

  • alias

    jmspt, pt

  • 사용법

    list-jms-pending-transactions -server <server-name>
  • 파라미터

    파라미터설명
    -server <server-name>indoubt 상태인 트랜잭션을 조회할 서버를 지정한다.

4.2.10.16. move-jms-messages

지정된 메시지를 클러스터나 서버 내의 다른 Destination으로 이동한다.

  • alias

    mvmsg

  • 사용법

    move-jms-message  -cluster <cluster-name> | -server <server-name>
                   -dest <destination-name> | -durable <<client-id>_<durable-name>>
                   -id <message-id> | -all
                   -target <destination-name>
  • 파라미터

    파라미터설명
    -cluster <cluster-name> | -server <server-name>Destination이나 Durable subscriber가 속한 클러스터나 서버를 지정한다.
    -dest <destination-name> | -durable <<client-id>_<durable-name>>정보를 출력할 Destination이나 Durable subscriber의 이름이다.
    -id <message-id> | -all이동할 메시지를 지정한다. 개별 message id를 지정하거나 전체를 지정할 수 있다.
    -target <destination-name>이동할 메시지가 들어갈 대상 Destination을 지정한다.
  • 예제

    [DAS]domain1.adminServer>list-jms-destinations -server adminServer
    Destination information in Server adminServer
    ================================================================================
    +---------+---------+-------+------------+-------------+-----------+-----------+
    |   Name  |  Export |  Type |  Remaining | Dead Letter |  Produce  |  Consume  |
    |         |  Name   |       |  Messages  | Destination | Suspended | Suspended |
    +---------+---------+-------+------------+-------------+-----------+-----------+
    | MyQueue | MyQueue | Queue |          0 | JEUSMQ_DLQ  | false     | false     |
    +---------+---------+-------+------------+-------------+-----------+-----------+
    | Examples| Examples| Topic |          0 | JEUSMQ_DLQ  | false     | false     |
    |Topic    |Topic    |       |            |             |           |           |
    +---------+---------+-------+------------+-------------+-----------+------- ----+
    | Examples| Examples| Queue |          5 | JEUSMQ_DLQ  | false     | false     |
    |Queue    |Queue    |       |            |             |           |           |
    +---------+---------+-------+------------+-------------+-----------+-----------+
    | JEUSMQ_D| JEUSMQ_D| Queue |          0 | JEUSMQ_DLQ  | false     | false     |
    |LQ       |LQ       |       |            |             |           |           |
    +---------+---------+-------+------------+-------------+-----------+-----------+
    
    For detailed information, use the -name option 
    ================================================================================
    
    [DAS]domain1.adminServer>move-jms-messages -server adminServer -dest ExamplesQueue -all -target MyQueue
    Successfully moved all messages from ExamplesQueue to MyQueue is successful
    [DAS]domain1.adminServer>list-jms-destinations -server adminServer
    Destination information in Server adminServer
    ================================================================================
    +---------+---------+-------+------------+-------------+-----------+-----------+
    |   Name  |  Export |  Type |  Remaining | Dead Letter |  Produce  |  Consume  |
    |         |  Name   |       |  Messages  | Destination | Suspended | Suspended |
    +---------+---------+-------+------------+-------------+-----------+-----------+
    | MyQueue | MyQueue | Queue |          5 | JEUSMQ_DLQ  | false     | false     |
    +---------+---------+-------+------------+-------------+-----------+-----------+
    | Examples| Examples| Topic |          0 | JEUSMQ_DLQ  | false     | false     |
    |Topic    |Topic    |       |            |             |           |           |
    +---------+---------+-------+------------+-------------+-----------+-----------+
    | Examples| Examples| Queue |          0 | JEUSMQ_DLQ  | false     | false     |
    |Queue    |Queue    |       |            |             |           |           |
    +---------+---------+-------+------------+-------------+-----------+-----------+
    | JEUSMQ_D| JEUSMQ_D| Queue |          0 | JEUSMQ_DLQ  | false     | false     |
    |LQ       |LQ       |       |            |             |           |           |
    +---------+---------+-------+------------+-------------+-----------+-----------+
    
    For detailed information, use the -name option 
    ================================================================================

4.2.10.17. remove-jms-connection-factory

동적으로 JMS 엔진에서 특정 Connection Factory를 제거한다.

  • alias

    remove-connection-factory, deleteconf, removeconf

  • 사용법

    remove-jms-connection-factory -server <server-name>
                                  -name <factory-name>
  • 파라미터

    파라미터설명
    -server <server-name>Connection Factory가 속한 서버를 지정한다.
    -name <factory-name>제거할 Connection Factory의 이름이다.
  • 예제

    [DAS]domain1.adminServer>list-jms-connection-factories -server adminServer
    Connection Factory information
    ================================================================================
    +-------------------------------------+--------------------------------+-------+
    |             Factory Name            |           Export Name          |  Type |
    +-------------------------------------+--------------------------------+-------+
    | ConnectionFactory                   | ConnectionFactory              | nonxa |
    | MyConnectionFactory                 | MyConnectionFactory            | nonxa |
    | XAConnectionFactory                 | XAConnectionFactory            | xa    |
    +-------------------------------------+--------------------------------+-------+
    ================================================================================
    [DAS]domain1.adminServer>remove-jms-connection-factory -server adminServer -name MyConnectionFactory
    Executed Successfully
    View the results using 'list-jms-connection-factories -server adminServer'
    [DAS]domain1.adminServer>list-jms-connection-factories -server adminServer
    Connection Factory information
    ================================================================================
    +-------------------------------------+--------------------------------+-------+
    |             Factory Name            |           Export Name          |  Type |
    +-------------------------------------+--------------------------------+-------+
    | ConnectionFactory                   | ConnectionFactory              | nonxa |
    | XAConnectionFactory                 | XAConnectionFactory            | xa    |
    +-------------------------------------+--------------------------------+-------+
    ================================================================================

4.2.10.18. remove-jms-destination

동적으로 JMS 엔진에서 특정 Destination을 제거한다.

  • alias

    remove-destination, deletedest, removedest

  • 사용법

    remove-jms-destination -cluster <cluster-name | -server <server-name>
                           -name <destination-name>
  • 파라미터

    파라미터설명
    -cluster <cluster-name | -server <server-name>Destination이 속한 클러스터 또는 서버를 지정한다.
    -name <destination-name>제거할 Destination의 이름이다.
  • 예제

    [DAS]domain1.adminServer>list-jms-destinations -server adminServer
    Destination information in Server adminServer
    ================================================================================
    +---------+---------+-------+------------+-------------+-----------+-----------+
    |   Name  |  Export |  Type |  Remaining | Dead Letter |  Produce  |  Consume  |
    |         |  Name   |       |  Messages  | Destination | Suspended | Suspended |
    +---------+---------+-------+------------+-------------+-----------+-----------+
    | MyQueue | MyQueue | Queue |          0 | JEUSMQ_DLQ  | false     | false     |
    +---------+---------+-------+------------+-------------+-----------+-----------+
    | Examples| Examples| Topic |          0 | JEUSMQ_DLQ  | false     | false     |
    |Topic    |Topic    |       |            |             |           |           |
    +---------+---------+-------+------------+-------------+-----------+-----------+
    | Examples| Examples| Queue |          0 | JEUSMQ_DLQ  | false     | false     |
    |Queue    |Queue    |       |            |             |           |           |
    +---------+---------+-------+------------+-------------+-----------+-----------+
    | JEUSMQ_D| JEUSMQ_D| Queue |          0 | JEUSMQ_DLQ  | false     | false     |
    |LQ       |LQ       |       |            |             |           |           |
    +---------+---------+-------+------------+-------------+-----------+-----------+
    
    For detailed information, use the -name option 
    ==============================================================================
    [DAS]domain1.adminServer>remove-jms-destination -server adminServer -name MyQueue
    Executed Successfully
    View the results using 'list-jms-destinations -server adminServer'
     
    [DAS]domain1.adminServer>list-jms-destinations -server adminServer
    Destination information in Server adminServer
    ================================================================================
    +---------+---------+-------+------------+-------------+-----------+-----------+
    |   Name  |  Export |  Type |  Remaining | Dead Letter |  Produce  |  Consume  |
    |         |  Name   |       |  Messages  | Destination | Suspended | Suspended |
    +---------+---------+-------+------------+-------------+-----------+-----------+
    | Examples| Examples| Topic |          0 | JEUSMQ_DLQ  | false     | false     |
    |Topic    |Topic    |       |            |             |           |           |
    +---------+---------+-------+------------+-------------+-----------+-----------+
    | Examples| Examples| Queue |          0 | JEUSMQ_DLQ  | false     | false     |
    |Queue    |Queue    |       |            |             |           |           |
    +---------+---------+-------+------------+-------------+-----------+-----------+
    | JEUSMQ_D| JEUSMQ_D| Queue |          0 | JEUSMQ_DLQ  | false     | false     |
    |LQ       |LQ       |       |            |             |           |           |
    +---------+---------+-------+------------+-------------+-----------+-----------+
                
    For detailed information, use the -name option 
    ==============================================================================

4.2.10.19. view-jms-message

Destination 안의 특정 메시지의 상세한 정보를 출력한다.

  • alias

    viewmsg

  • 사용법

    view-jms-messages  -cluster <cluster-name> | -server <server-name>
                    -dest <destination-name> | -durable <<client-id>_<durable-name>>
                    -id <message-id> 
  • 파라미터

    파라미터설명
    -cluster <cluster-name> | -server <server-name>Destination이나 Durable subscriber가 속한 클러스터나 서버를 지정한다.
    -dest <destination-name> | -durable <<client-id>_<durable-name>>정보를 출력할 Destination이나 Durable subscriber의 이름이다.
    -id <message-id>출력할 메시지의 messsage id를 지정한다.
  • 예제

    [DAS]domain1.adminServer>list-jms-messages -server adminServer -dest ExamplesQueue
    Messages in Destination ExamplesQueue
    ==================================================================================
    +--------------------+--------------+--------------------------------------------+
    |     Message ID     | Message Type |                Created Time                |
    +--------------------+--------------+--------------------------------------------+
    | ID:1242976880:1:0  | Text         | Tue Nov 19 15:53:17 KST 2016               |
    | ID:1242976880:1:1  | Text         | Tue Nov 19 15:53:17 KST 2016               |
    | ID:1242976880:1:2  | Text         | Tue Nov 19 15:53:17 KST 2016               |
    | ID:1242976880:1:3  | Text         | Tue Nov 19 15:53:17 KST 2016               |
    | ID:1242976880:1:4  | Text         | Tue Nov 19 15:53:17 KST 2016               |
    +--------------------+--------------+--------------------------------------------+
    ==================================================================================
    
    [DAS]domain1.adminServer>view-jms-message -server adminServer -dest ExamplesQueue -id ID:1242976880:1:0
    Message ID:1242976880:1:0
    ================================================================================
    +------------------+-----------------------------------------------------------+
    |  Attribute name  |                           Value                           |
    +------------------+-----------------------------------------------------------+
    | Message ID       | ID:1242976880:1:0                                         |
    | Destination Name | ExamplesQueue                                             |
    | Delivery Mode    |                                                         2 |
    | Message Type     | Text                                                      |
    | Correlation ID   |                                                           |
    | Created Time     | Tue Nov 19 15:53:17 KST 2016                              |
    | Expiration Time  | -                                                         |
    | Time-to-live     |                                                         0 |
    | Priority         |                                                         4 |
    | Redelivered      | false                                                     |
    | Delivery Time    | Tue Nov 19 15:53:17 KST 2016                              |
    | Redelivery Limit |                                                         4 |
    | Reply To         |                                                           |
    | Message Body     | Test Message                                              |
    +------------------+-----------------------------------------------------------+
    ================================================================================

4.2.11. 데이터소스 관련 명령어

데이터소스 관리 및 설정 변경, 설정 확인 등의 기능을 제공한다. 명령어들의 목록은 다음과 같다.

명령어설명
add-cluster-data-source클러스터 데이터소스를 도메인에 동적으로 추가한다.
add-data-source데이터소스를 도메인에 동적으로 추가한다.
list-cluster-data-sources도메인에 존재하는 모든 클러스터 데이터소스의 목록을 조회한다. 특정 데이터소스의 ID를 명시할 경우 해당 클러스터 데이터소스의 설정을 자세히 조회한다.
list-data-sources도메인에 존재하는 모든 데이터소스의 목록을 조회한다. 특정 데이터소스의 ID를 명시할 경우 해당 데이터소스의 설정을 자세히 조회한다.
modify-cluster-data-source클러스터 데이터소스의 설정을 변경한다. 대부분의 설정이 동적으로 변경 가능하다.
modify-data-source데이터소스의 설정을 변경한다. 일부 설정은 동적으로 변경 가능하다.
remove-cluster-data-source클러스터 데이터소스를 도메인으로부터 동적으로 삭제한다.
remove-data-source데이터소스를 도메인으로부터 동적으로 삭제한다.
test-data-source-config데이터소스의 설정이 올바른지 확인한다.

4.2.11.1. add-cluster-data-source

클러스터 데이터소스를 도메인에 동적으로 추가한다.

  • alias

    addcds

  • 사용법

    add-cluster-data-source [-id,--dataSourceID <data-source-id>]
                            [-en,--exportName <export-name>]
                            [-dss,--dataSourceSelector <data-source-selector>]
                            [-lb,--loadBalance <load-balance>]
                            [-ipc,--isPreConn <is-pre-conn>]
                            [-ufb,--useFailback <use-failback>]
                            [-cds,--componentDataSources <component-data-sources>]
                            [-oc,--onsConfig <ons-config>]
                            [-f,--forceLock]
                            [-detail]
  • 파라미터

    파라미터설명
    [-id,--dataSourceID <data-source-id>]클러스터 데이터소스의 ID이다. 하나의 도메인에서 클러스터 데이터소스 ID는 클러스터 데이터소스의 유일한 식별자로서 동작하도록 설정해야 한다.
    [-en,--exportName <export-name>]

    클러스터 데이터소스의 JNDI 이름을 설정한다. 서로 다른 두 데이터소스가 서로 다른 서버에 JNDI 바인드되는 것을 보장할 수 있으면 해당 데이터소스들은 서로 같은 JNDI 이름을 가질 수 있다. 이는 임의의 서버에서 동일한 JNDI 이름을 가지는 서로 다른 데이터소스를 허용하지 않음을 의미한다.

    설정되지 않으면 클러스터 데이터소스 ID를 JNDI 이름으로 사용한다.

    [-dss,--dataSourceSelector <data-source-selector>]

    클러스터 데이터소스로부터 커넥션을 얻을 때 사용자나 개발자가 특정 컴포넌트 데이터소스 선택에 대한 정책을 직접 정의할 수 있다. jeus.jdbc.helper.DataSourceSelector 추상 클래스를 상속하여 구현하고 그 구현 클래스의 패키지 이름을 포함하는 이름을 적어준다. 이것을 설정하면 --loadBalance 설정은 아무런 기능을 하지 않으며 failover와 failback을 무조건 시도한다.

    • failover는 이 설정을 통하여 최초 선택된 컴포넌트 데이터소스 다음 인덱스의 컴포넌트 데이터소스를 시작으로 하여 한 번만 라운딩하는 방식으로 이루어진다.

    • failback은 Use Failback을 설정하는 경우 Failback이 수행되는 방식과 유사하게 이루어진다. 정책을 정의할 때는 대체로 동기화를 고려해야 하며 이는 구현자의 몫이다.

    [-lb,--loadBalance <load-balance>]

    load balancing 여부를 설정한다.

    • true : --useFailback 설정은 아무런 기능을 하지 않게 된다.

    [-ipc,--isPreConn <is-pre-conn>]클러스터 데이터소스에 속한 컴포넌트 데이터소스들의 Connection Pool을 미리 생성할지 여부를 결정한다. 컴포넌트 데이터소스들의 Connection Pool을 미리 생성해 놓으면 성능상으로 이점이 있으나 리소스가 낭비되어 효율이 떨어진다.
    [-ufb,--useFailback <use-failback>]

    이전 버전의 JEUS에서는 failover만을 지원했으므로 이에 대한 호환성을 위해 제공하는 옵션이다.

    보조 데이터소스로 failover한 후에 주 데이터소스로 failback할 것인지의 여부를 설정한다. 기본적으로 failback을 시도한다.

    failback을 위해서는 반드시 주 데이터소스에 대하여 --checkQuery 및 --checkQueryPeriod를 설정해야 한다.

    [-cds,--componentDataSources <component-data-sources>]클러스터 데이터소스에 속한 컴포넌트 데이터소스들의 데이터소스 ID를 명시한다.
    [-oc,--onsConfig <ons-config>]

    ONS와 결합된 클러스터 데이터소를 사용하고자 할 때 설정한다. ONS상의 각 RAC 노드들이 ONS 통신에 사용하는 IP, 포트를 적는다. 클러스터 데이터소스는 설정된 IP, 포트들에 소켓 연결을 맺어 ONS 클라이언트로 동작하게 된다.

    다음과 같은 형식으로 적는다.

    nodes=host1:6200,host2:6200
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-detail]변경 결과에 대한 상세 정보가 출력된다.
  • 예제

    [DAS]domain1.adminServer>addcds -id cds1 -cds ds1,ds2
    Successfully performed the ADD operation for cluster data source [cds1] to domain.
    Check the results using "add-cluster-data-source"

4.2.11.2. add-data-source

데이터소스를 도메인에 동적으로 추가한다.

  • alias

    addds

  • 사용법

    add-data-source [-id,--dataSourceID <data-source-id>]
                 [-ac,--autoCommit <auto-commit-value>]
                 [-sqt,--stmtQueryTimeout <statement-query-timeout>]
                 [-aocl,--actionOnConnectionLeak <action-on-connection-leak>]
                 [-min,--min <minimum-size>]
                 [-max,--max <maximum-size>]
                 [-step,--step <resizing-step>]
                 [-period,--period <resizing-period>]
                 [-ew,--enableWait <enable-wait>]
                 [-wt,--waitTime <wait-time>]
                 [-dds,--delegationDataSource <delegation-data-source>]
                 [-muc,--maxUseCount <max-use-count>]
                 [-cq,--checkQuery <check-query>]
                 [-cqt,--checkQueryTimeout <check-query-timeout>]
                 [-nvi,--nonValidationInterval <non-validation-interval>]
                 [-cqp,--checkQueryPeriod <check-query-period>]
                 [-cqrc,--checkQueryRetrialCount <check-query-retrial-count>]
                 [-dpocq,--destroyPolicyOnCheckQuery <destroy-policy-on-check-query>]
                 [-scs,--stmtCachingSize <stmt-caching-size>]
                 [-sfs,--stmtFetchSize <stmt-fetch-size>]
                 [-ct,--connectionTrace <connection-trace>]
                 [-gct,--getConnectionTrace <get-connection-trace>]
                 [-act,--autoCommitTrace <auto-commit-trace>]
                 [-ust,--useSqlTrace <use-sql-trace>]
                 [-kcho,--keepConnectionHandleOpen <keep-connection-handle-open>]
                 [-en,--exportName <export-name>]
                 [-dscn,--dataSourceClassName <data-source-class-name>]
                 [-dst,--dataSourceType <data-source-type>]
                 [-vendor,--vendor <vendor>]
                 [-desc,--description <description>]
                 [-sn,--serverName <server-name>]
                 [-pn,--portNumber <port-number>]
                 [-dn,--databaseName <database-name>]
                 [-user,--user <user>]
                 [-pw,--password <password>]
                 [-lt,--loginTimeout <login-timeout>]
                 [-il,--isolationLevel <isolation-level>]
                 [-pdt,--poolDestroyTimeout <pool-destroy-timeout>]
                 [-prop,--property <property>]
                 [-sxe,--supportXaEmulation <support-xa-emulation>]
                 [-ddba,--delegationDba <delegation-dba>]
                 [-dbat,--dbaTimeout <dba-timeout>]
                 [-cqc,--checkQueryClass <check-query-class>]
                 [-is,--initSql <init-sql>]
                 [-f,--forceLock]
                 [-detail]
  • 파라미터

    파라미터설명
    [-id,--dataSourceID <data-source-id>]데이터소스의 ID이다. 하나의 도메인에서 데이터소스 ID는 데이터소스의 유일한 식별자로서 동작하도록 설정해야 한다.
    [-ac,--autoCommit <auto-commit-value>]

    데이터소스의 기본 auto-commit 설정으로 다음 중에 하나를 설정한다.

    • TRUE

    • FALSE

    • DRIVER : DRIVER로 설정하면 JEUS는 auto-commit 설정에 관여하지 않으며 JDBC 드라이버의 auto-commit 설정을 따르게 된다. XA 에뮬레이션 기능을 사용하는 Connection Pool 데이터소스 또는 XA 데이터소스의 경우 트랜잭션이 연동되어있지 않을 때만 이 설정값이 유효하다.

    [-sqt,--stmtQueryTimeout <statement-query-timeout> ]

    데이터소스로부터 얻은 커넥션을 통해 생성된 java.sql.Statement 객체에 지정될 쿼리 타임아웃을 설정한다.

    JEUS는 JDBC API를 통해 정의되고 JDBC 드라이버 벤더에서 구현한 쿼리 타임아웃 설정 메소드(java.sql.Statement#setQueryTimeout)를 호출할 뿐이다. JDBC 드라이버 벤더별로 쿼리 타임아웃 적용에 약간의 차이가 있다. (단위: ms)

    [-aocl,--actionOnConnectionLeak <action-on-connection-leak>]

    애플리케이션(주로 stateless 컴포넌트 - Servelet/JSP, stateless Session Bean, MDB)에서 사용하고 제대로 반환하지 않은 JDBC 커넥션을 감지했을 때 JEUS가 취하는 액션을 정의한다.

    다음의 값 중에 하나를 설정한다. 설정하지 않을 경우 서버의 설정을 따른다.

    • NO_ACTION : 아무런 액션을 취하지 않는다.

    • WARNING : 설정하면 반환되지 않은 JDBC 커넥션 정보를 로그로 남긴다.

    • AUTO_CLOSE : 반환되지 않은 JDBC 커넥션 정보를 로그로 남기며 해당 JDBC 커넥션을 회수한다.

    [-min,--min <minimum-size>]Connection Pool에 Pooling되는 커넥션의 최솟값을 지정한다.
    [-max,--max <maximum-size>]Connection Pool에 Pooling되는 커넥션의 최댓값을 지정한다.
    [-step,--step <resizing-step>]Connection Pool에 커넥션이 부족할 때 현재 커넥션의 개수가 최댓값 이하인 경우 DB로부터 커넥션을 새로 받아와 채우는 데, 이때 새로 받아오는 커넥션의 개수를 지정한다.
    [-period,--period <resizing-period>]Connection Pool의 크기를 최솟값에 맞춰 조정하는 주기를 설정한다. Connection Pool의 크기가 최솟값을 초과하는 경우에는 사용하지 않는 커넥션들을 닫아주고 Connection Pool의 크기가 최솟값에 미치지 못하는 경우에는 DB로 붙일 커넥션을 새로 받아와 채운다. (단위: ms)
    [-ew,--enableWait <enable-wait>]

    Connection Pool에 사용 가능한 커넥션이 없고 커넥션도 더 이상 늘릴 수 없을 때 커넥션 요청을 처리하는 방법을 결정한다.

    • true : 이용 가능한 커넥션을 얻기 위해 기다린다.

    • false : 새로운 커넥션을 만들어서 제공하지만 그 커넥션은 반환되었을 때 Pooling되지 않고 버려진다. 이를 일회용(disposable) 커넥션이라고도 한다.

    [-wt,--waitTime <wait-time>]--enable-wait이 true인 경우에만 유효한 설정으로 커넥션을 얻기 위해 대기하는 한계 시간을 나타낸다. 만약 이 시간이 지나도 커넥션을 얻지 못하면 JEUS는 타임아웃 예외를 발생시킨다. (단위: ms)
    [-dds,--delegationDataSource <delegation-data-source>]

    트랜잭션과 연동하지 않은 상태에서는 XA 데이터소스를 통해 커넥션을 얻기보다 Connection Pool 데이터소스를 통해 커넥션을 얻는 것이 낫다.

    기능상 차이도 없고 트랜잭션 연동을 위한 기능을 포함하고 있는 XA 커넥션은 시스템에 부담을 더 주기 때문이다. 이를 위해 XA 데이터소스인 경우 이 설정을 통하여 트랜잭션과 연동하지 않은 상태에서 커넥션 요청을 위임할 Connection Pool 데이터소스를 지정한다.

    한편 Oracle, DB2 등에서 XA 커넥션을 트랜잭션 없이도 사용한다. 트랜잭션에 연동하면서 사용하다 보면 XA를 시작할 수 없는 예외가 발생하기도 하는데 정확한 원인은 알 수 없기 때문에 이를 회피하기 위한 방편으로서도 이 설정을 이용한다.

    [-muc,--maxUseCount <max-use-count>]커넥션의 최대 사용 횟수이다. 이 사용 횟수 이상이 되면 새로운 커넥션으로 교체한다. (기본값: 0, 커넥션을 교체하지 않겠다는 의미)
    [-cq,--checkQuery <check-query>]

    커넥션 상태 점검에 사용될 쿼리(check-query)를 설정한다.

    보통 DB와의 연결 유효성만을 확인하면 되므로 간단한 select 쿼리를 사용할 것을 권장한다.

    [-cqt,--checkQueryTimeout <check-query-timeout>]

    커넥션 점검을 위해 check-query를 수행했을 때 DB가 응답이 없어 드라이버가 계속 기다리는 상황이 발생할 수 있다. 이런 경우를 피하기 위해 check-query에 대해 쿼리 타임아웃을 적용한다.

    이것은 JDBC API에서 정의한 java.sql.Statement#setQueryTimeout 메소드 호출을 통해 가능하다.

    1000ms보다 작을 경우 0으로 설정되므로 주의한다. (단위: ms)

    [-nvi,--nonValidationInterval <non-validation-interval>]

    커넥션 점검이 너무 잦아서 오버헤드가 발생하는 경우 설정한다.

    커넥션 점검을 수행하기 직전의 시각과 가장 최근의 커넥션 점검 시각과의 차이가 설정한 시간 간격 이내면 커넥션 점검을 생략한다. (단위: ms)

    예를 들어 이 설정값이 5000ms인 경우 어떤 커넥션의 마지막 커넥션 점검 시간으로부터 아직 5초가 지나지 않았다면 해당 커넥션에 대한 점검이 생략된 채 애플리케이션에 전달된다.

    [-cqp,--checkQueryPeriod <check-query-period>]

    Connection Pool의 커넥션들을 설정한 주기마다 체크하여 문제가 있는 커넥션을 제거한다. (단위: ms)

    클러스터 데이터소스에 속한 데이터소스는 자신의 상태 체크에 사용하므로 반드시 설정해야 한다.

    [-cqrc,--checkQueryRetrialCount <check-query-retrial-count>]

    커넥션 점검은 기본적으로 --destroyPolicyOnCheckQuery가 FAILED_CONNECTION_ONLY로 설정된 경우 한 번 수행된다.

    --destroyPolicyOnCheckQuery가 ALL_CONNECTIONS으로 설정된 경우에는 최초의 커넥션 점검에서 커넥션 이상이 확인되면 또 다른 커넥션에 대해서 한 번 더 커넥션 점검이 이루어져 총 두 번의 커넥션 점검이 수행될 수 있다.

    이 설정값이 이러한 기본 커넥션 점검 수행 횟수에 더해져 최종 커넥션 점검 수행 횟수가 정해진다.

    [-dpocq,--destroyPolicyOnCheckQuery <destroy-policy-on-check-query>]

    커넥션이 유효하지 않은 것으로 확인되었을 때 Connection Pool에 있는 다른 커넥션들에 대한 처리 정책을 설정한다.

    • FAILED_CONNECTION_ONLY : 유효하지 않은 것으로 확인된 커넥션만 제거한다.

    • ALL_CONNTECTIONS : 유효하지 않은 것으로 확인된 커넥션을 제거하고 Connection Pool에 있는 다른 커넥션의 유효성을 한 번 더 확인한다. 그조차 유효하지 않은 것으로 확인되면 Connection Pool의 모든 커넥션을 제거한다.

    [-scs,--stmtCachingSize <stmt-caching-size>]

    JDBC 드라이버는 애플리케이션에서 prepared statement를 요청할 때마다 파라미터로 넘어온 SQL 문장을 파싱한다. 이 파싱 작업이 성능에 영향을 줄 수 있기 때문에 이를 피하기 위해서 JEUS 내부적으로 prepared statement를 캐시하는 기능을 제공한다. 이 설정은 캐싱할 prepared statement의 개수를 지정한다. 이 기능을 사용하면 커넥션을 항상 열어둔 채로 사용하기 때문에 커넥션을 닫았을 때 드라이버가 수행하는 클리어 작업이 이뤄지지 않는다.

    예를 들어 Oracle JDBC 드라이버의 경우 auto-commit을 false로 설정해서 사용하다가 commit이나 rollback을 하지 않고 커넥션을 닫으면 무조건 commit을 하도록 되어 있는데 이러한 처리가 되지 않는다.

    만약 JDBC 드라이버에서 statement 캐시 기능을 제공한다면 그것을 사용하기를 권장한다.

    [-sfs,--stmtFetchSize <stmt-fetch-size>]JDBC 드라이버 statement의 fetch 사이즈를 설정한다.
    [-ct,--connectionTrace <connection-trace>]

    커넥션과 관련된 부가 정보 제공 여부를 결정한다.

    • false : --getConnectionTrace와 --autoCommitTrace가 모두 무효하다.

    [-gct,--getConnectionTrace <get-connection-trace>]애플리케이션이 java.sql.DataSource#getConnection을 호출했을 때의 Stack Trace를 확인할 수 있도록 한다.
    [-act,--autoCommitTrace <auto-commit-trace>]java.sql.Connection#setAutoCommit이 호출되었을 때 관련 로그와 Stack Trace를 서버 로그에 기록한다. 단, jeus.jdbc.connection-trace 로거의 로그 레벨을 FINE으로 설정해야 한다.
    [-ust,--useSqlTrace <use-sql-trace>]

    커넥션별로 사용하고 있는 SQL 쿼리를 보여주는 기능이다.

    jeus.jdbc.sql 로거의 레벨을 FINE으로 설정할 경우 서버 로그를 통해서 SQL 쿼리 히스토리를 확인할 수 있다. 이 기능을 사용할 경우 JDBC 드라이버의 statement 구현체를 JEUS의 것으로 감싸게되므로 JDBC 드라이버의 statement 객체를 캐스팅해서 사용하는 애플리케이션은 이 기능을 사용할 수 없다.

    [-kcho,--keepConnectionHandleOpen <keep-connection-handle-open>]

    true로 설정하면 XA 커넥션을 사용하고 Pool에 반납할 때 그에 대한 핸들(또는 논리적 커넥션)을 닫지 않고 열어둔다.

    DB2 universal 드라이버의 경우에 사용할 필요가 있다. 이 기능을 사용하면 커넥션 핸들이 닫히지 않으므로 커넥션을 닫을 때 드라이버가 수행하는 클리어 작업이 이뤄지지 않는다.

    예를 들어 Oracle JDBC 드라이버의 경우 auto-commit을 false로 설정해서 사용하다가 commit이나 rollback을 하지 않고 커넥션을 닫으면 무조건 commit을 하도록 되어 있는데 이러한 처리가 되지 않는다.

    [-en,--exportName <export-name>]

    데이터소스의 JNDI 이름을 설정한다.

    서로 다른 두 데이터소스가 서로 다른 서버에 JNDI 바인드되는 것을 보장할 수 있으면 해당 데이터소스들은 서로 같은 JNDI 이름을 가질 수 있다. 이는 임의의 서버에서 동일한 JNDI 이름을 가지는 서로 다른 데이터소스를 허용하지 않음을 의미한다.

    설정되지 않으면 데이터소스 ID를 JNDI 이름으로 사용한다.

    [-dscn,--dataSourceClassName <data-source-class-name>]JDBC 드라이버 데이터소스 클래스의 이름을 설정한다. 패키지 이름을 포함하는 완전한 형태로 적는다.
    [-dst,--dataSourceType <data-source-type>]

    데이터소스의 타입을 설정한다.

    • DATA_SOURCE : Connection Pooling 서비스는 제공되지 않는다.

    • CONNECTION_POOL_DATA_SOURCE : Connection Pooling 서비스가 제공된다.

    • XA_DATA_SOURCE : Connection Pooling 서비스와 더불어 XA 연동이 지원된다.

    [-vendor,--vendor <vendor>]JDBC 드라이버 벤더의 이름을 설정한다.
    [-desc,--description <description>]데이터소스에 대한 설명이다.
    [-sn,--serverName <server-name>]데이터베이스가 실행되는 호스트 이름 또는 IP를 설정한다.
    [-pn,--portNumber <port-number>]데이터베이스 리스너의 포트 번호를 설정한다.
    [-dn,--databaseName <database-name>]

    데이터베이스의 이름을 설정한다.

    Oracle의 경우 데이터베이스의 SID를 설정한다.

    [-user,--user <user>]데이터베이스 사용자의 ID를 설정한다. 트랜잭션 처리 등을 위해서는 충분한 권한을 가지고 있어야 한다.
    [-pw,--password <password>]데이터베이스 사용자의 패스워드를 설정한다. 패스워드를 암호화해서 저장할 때에는 '{algorithm:keysize}ciphertext'와 같은 형식으로 쓴다.
    [-lt,--loginTimeout <login-timeout>]데이터베이스와 커넥션을 맺을 때 로그인 단계에서 기다리는 최대 시간이다. (단위: 초)
    [-il,--isolationLevel <isolation-level>]java.sql.Connection에서 정의하는 트랜잭션 isolation을 설정한다.
    [-pdt,--poolDestroyTimeout <pool-destroy-timeout>]

    Connection Pool destroy 완료를 기다리는 시간이다. (단위: ms)

    데이터소스를 정의한 애플리케이션을 undeploy하거나 서버가 내려갈 때 Connection Pool을 destroy하게 되는데, 커넥션을 제거하면서 DB와 네트워크 통신을 할 경우 블록될 가능성이 존재하여 Connection Pool destory를 마냥 기다리는 문제가 발생할 수 있다. 이와 같은 문제를 피하기 위해 이 설정을 사용한다. 설정한 시간 만큼만 Connection Pool destroy 완료를 기다려보고 undeploy 또는 서버 다운을 이어서 진행한다.

    [-prop,--property <property>]

    JDBC 드라이버별로 제각각일 수 있는 속성들의 설정을 모두 수용하기 위해 제공되는 통일된 설정 방법이다.

    한 개의 속성에 대하여 "이름:타입=값"의 형태로 입력한다.

    한 개 이상의 속성이 설정될 경우 콤마(,)로 구분한다.

    [-sxe,--supportXaEmulation <support-xa-emulation>]

    Connection Pool 데이터소스 타입의 데이터소스에만 유효한 설정으로 이 설정을 적용할 경우 Connection Pool 데이터소스의 커넥션이 글로벌 트랜잭션(XA)에 참여하도록 에뮬레이션한다.

    JEUS 6까지의 LocalXADataSource의 대체 옵션으로 ConnectionPoolDataSource 타입의 Connection Pool에 사용한다.

    하나의 트랜잭션에는 하나의 Connection Pool 데이터소스만 참여할 수 있다는 점에 유의해야 한다.

    [-ddba,--delegationDba <delegation-dba>]

    데이터베이스의 세션을 강제로 죽일 수 있는 권한(DBA 권한)을 가진 데이터소스(이하 DBA 위임 데이터소스)의 JNDI 이름을 설정한다. 이 설정을 한 데이터소스로부터 얻어진 커넥션을 이용한 쿼리 수행이 일정 시간 이상 지체되면 JEUS는 위임 DBA 데이터소스를 통해 해당 커넥션과 연관된 DB 세션을 강제로 제거하도록 하는 쿼리를 DB에 보낸다. 이후 애플리케이션이 사용 불가능해진 커넥션으로 인해 발생한 예외를 처리하고 커넥션을 닫아주게 되면 JEUS는 그 커넥션을 제거하고 DB로부터 새로운 커넥션을 얻어 Connection Pool에 넣는다.

    현재 Tibero, Oracle, Sybase에 대해서 이 기능을 지원한다. 이 기능은 JDBC 2.0 이하 JDBC 드라이버에서 쿼리 수행이 지나치게 오래 걸릴 때 그것을 중단시킬 방법으로서 고안된 것이다. 그러나 JDBC 3.0 또는 그 이상의 버전을 구현한 JDBC 드라이버는 java.sql.Statement#setQueryTimeout을 구현하므로 이 기능을 통해 강제로 DB 세션을 제거하기보다는 Statement Query Timeout 설정을 이용하는 것을 권장한다.

    특히, XA 데이터소스의 경우 XA가 정상적으로 진행하는 도중에 DB 세션이 제거되면 XA 처리에 문제가 발생할 수 있기 때문에 Statement Query Timeout과 트랜잭션 타임아웃을 적절하게 설정하여 사용하도록 한다.

    [-dbat,--dbaTimeout <dba-timeout>]

    위임 DBA 데이터소스는 이 설정으로 지정한 시간 동안만 커넥션의 쿼리 수행을 기다린다. 설정한 시간이 경과하면 해당 커넥션과 연관된 DB 세션을 강제로 제거하도록 하는 쿼리를 DB로 보낸다.

    --delegationDba가 설정된 경우에만 유효하다. (단위: ms)

    [-cqc,--checkQueryClass <check-query-class>]

    사용자나 개발자가 커넥션 점검 기능을 커스터마이즈할 경우 그것을 위해 구현한 클래스의 패키지 이름을 포함한 이름을 적어준다.

    이때 그 클래스는 반드시 jeus.jdbc.connectionpool.JEUSConnectionChecker 인터페이스를 구현해야 한다.

    [-is,--initSql <init-sql>]커넥션을 생성한 후 가장 처음으로 수행할 SQL 쿼리를 설정한다.
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-detail]변경 결과에 대한 상세 정보가 출력된다.
  • 예제

    [DAS]domain1.adminServer>addds -id ds1 -dst ConnectionPoolDataSource -dscn 
    oracle.jdbc.pool.OracleConnectionPoolDataSource -sn 61.77.153.4 -pn 1521 -
    dn orcl -user scott -password tiger -property driverType;java.lang.String;thin 
    Successfully performed the ADD operation for data source [ds1] to domain.
    Check the results using "add-data-source"

4.2.11.3. list-cluster-data-sources

도메인에 존재하는 모든 클러스터 데이터소스의 목록을 조회한다. 특정 데이터소스의 ID를 명시할 경우 해당 클러스터 데이터소스의 설정을 자세히 조회한다.

  • alias

    listcds, lscds

  • 사용법

    list-cluster-data-sources [-id,--dataSourceID <data-source-id>]
  • 파라미터

    파라미터설명
    [-id,--dataSourceID <data-source-id>]클러스터 데이터소스 ID이다.
  • 예제

    [DAS]domain1.adminServer>lscds
    The list of cluster data sources
    ================================================================================
    +--------------------+-----------------------+---------------------------------+
    |   Data source ID   |    JNDI export name   |      Component data sources     |
    +--------------------+-----------------------+---------------------------------+
    | cds1               | cds1                  | [ds1, ds2]                      |
    | cds2               | cds2                  | [ds3, ds4]                      |
    +--------------------+-----------------------+---------------------------------+
    ================================================================================
    
    [DAS]domain1.adminServer>lscds -id cds1
    The configuration of cluster data source [cds1]
    ================================================================================
    +------------------------------------------+-----------------------------------+
    |            Configuration name            |        Configuration value        |
    +------------------------------------------+-----------------------------------+
    | id                                       | cds1                              |
    | export-name                              | cds1                              |
    | load-balance                             | false                             |
    | is-pre-conn                              | false                             |
    | use-failback                             | true                              |
    | component-data-sources                   | [ds1, ds2]                        |
    +------------------------------------------+-----------------------------------+
    ================================================================================

4.2.11.4. list-data-sources

도메인에 존재하는 모든 데이터소스의 목록을 조회한다. 특정 데이터소스의 ID를 명시할 경우 해당 데이터소스의 설정을 자세히 조회한다.

  • alias

    listds, lsds

  • 사용법

    list-data-sources [-id,--dataSourceID <data-source-id>]
  • 파라미터

    파라미터설명
    [-id,--dataSourceID <data-source-id>]데이터소스 ID이다.
  • 예제

    [DAS]domain1.adminServer>lsds
    The list of data sources
    ================================================================================
    +----------------+----------------------+--------------------------------------+
    | Data source ID |   JNDI export name   |           Data source type           |
    +----------------+----------------------+--------------------------------------+
    | ds1            | ds1                  | ConnectionPoolDataSource             |
    | ds2            | ds2                  | ConnectionPoolDataSource             |
    | ds3            | ds3                  | ConnectionPoolDataSource             |
    +----------------+----------------------+--------------------------------------+
    ================================================================================
    
    [DAS]domain1.adminServer>lsds -id ds1
    The configuration of the data source [ds1]
    ================================================================================
    +----------------------------+-------------------------------------------------+
    |     Configuration name     |               Configuration value               |
    +----------------------------+-------------------------------------------------+
    | id                         | ds1                                             |
    | export-name                | ds1                                             |
    | data-source-class-name     | oracle.jdbc.pool.OracleConnectionPoolDataSource |
    | data-source-type           | ConnectionPoolDataSource                        |
    | vendor                     | oracle                                          |
    | server-name                | 61.77.153.4                                     |
    | port-number                |                                            1521 |
    | database-name              | orcl                                            |
    | user                       | scott                                           |
    | password                   | tiger                                           |
    | login-timeout              |                                               0 |
    | auto-commit                | DRIVER                                          |
    | stmt-query-timeout         |                                               0 |
    | pool-destroy-timeout       |                                           10000 |
    | property                   | [driverType;java.lang.String;thin]              |
    | action-on-connection-leak  | Warning                                         |
    | support-xa-emulation       | false                                           |
    | min                        |                                              10 |
    | max                        |                                              50 |
    | step                       |                                               1 |
    | period                     |                                         3600000 |
    | enable-wait                | false                                           |
    | wait-time                  |                                           10000 |
    | max-use-count              |                                               0 |
    | dbaTimeout                 |                                              -1 |
    | stmt-caching-size          |                                              -1 |
    | stmt-fetch-size            |                                              -1 |
    | connection-trace           | false                                           |
    | get-connection-trace       | true                                            |
    | auto-commit-trace          | false                                           |
    | use-sql-trace              | false                                           |
    | keep-connection-handle-open| false                                           |
    +----------------------------+-------------------------------------------------+
    ================================================================================

4.2.11.5. modify-cluster-data-source

클러스터 데이터소스의 설정을 변경한다. 대부분의 설정이 동적으로 변경 가능하다.

  • alias

    modifycds

  • 사용법

    modify-cluster-data-source -id,--dataSourceID <data-source-id>
                               [-en,--exportName <export-name>]
                               [-dss,--dataSourceSelector <data-source-selector>]
                               [-lb,--loadBalance <load-balance>]
                               [-ipc,--isPreConn <is-pre-conn>]
                               [-ufb,--useFailback <use-failback>]
                               [-cds,--componentDataSources <component-data-sources>]
                               [-oc,--onsConfig <ons-config>]
                               [-xa,--xaAffinity <xa-affinity>]
                               [-f,--forceLock]
                               [-detail]
  • 파라미터

    파라미터설명
    -id,--dataSourceID <data-source-id>]

    클러스터 데이터소스의 ID을 설정한다.

    하나의 도메인에서 클러스터 데이터소스 ID는 클러스터 데이터소스의 유일한 식별자로서 동작하도록 설정해야 한다.

    [-en,--exportName <export-name>]

    클러스터 데이터소스의 JNDI 이름을 설정한다. 서로 다른 두 데이터소스가 서로 다른 서버에 JNDI 바인드되는 것을 보장할 수 있으면 해당 데이터소스들은 서로 같은 JNDI 이름을 가질 수 있다. 이는 임의의 서버에서 동일한 JNDI 이름을 가지는 서로 다른 데이터소스를 허용하지 않음을 의미한다.

    설정되지 않으면 클러스터 데이터소스 ID를 JNDI 이름으로 사용한다. 설정을 해제하려면 옵션 값으로 "unset"을 입력한다.

    [-dss,--dataSourceSelector <data-source-selector>]

    [동적 변경] 클러스터 데이터소스로부터 커넥션을 얻을 때 사용자나 개발자가 특정 컴포넌트 데이터소스 선택에 대한 정책을 직접 정의할 수 있다.

    jeus.jdbc.helper.DataSourceSelector 추상 클래스를 상속하여 구현하고 그 구현 클래스의 패키지 이름을 포함하는 이름을 적어준다. 이것을 설정하면 --loadBalance 설정은 아무런 기능을 하지 않으며 failover와 failback을 무조건 시도한다.

    • failover는 이 설정을 통하여 최초 선택된 컴포넌트 데이터소스 다음 인덱스의 컴포넌트 데이터소스를 시작으로 하여 한 번만 라운딩하는 방식으로 이루어진다.

    • failback은 Use failback을 설정할 때 failback이 수행되는 방식과 유사하게 이루어진다. 정책을 정의할 때는 대체로 동기화를 고려해야 하며 이는 구현자의 몫이다.

    설정을 해제하려면 옵션 값으로 "unset"을 입력한다.

    [-lb,--loadBalance <load-balance>]

    [동적 변경] load balancing 여부를 설정한다.

    • true : --useFailback 설정은 아무런 기능을 하지 않게 된다.

    [-ipc,--isPreConn <is-pre-conn>][동적 변경] 클러스터 데이터소스에 속한 컴포넌트 데이터소스들의 Connection Pool을 미리 생성할지 여부를 결정한다. 컴포넌트 데이터소스들의 Connection Pool을 미리 생성해 놓으면 성능상으로 이점이 있으나 리소스의 절약면에서는 좋지 못하다.
    [-ufb,--useFailback <use-failback>]

    [동적 변경] 이전 버전의 JEUS에서는 failover만을 지원했으므로 이에 대한 호환성을 위해 제공하는 옵션이다.

    보조 데이터소스로 failover한 후에 주 데이터소스로 failback할 것인지의 여부를 설정한다. 기본적으로 failback을 시도한다. failback을 위해서는 반드시 주 데이터소스에 대하여 --checkQuery 및 --checkQueryPeriod를 설정해야 한다.

    [-cds,--componentDataSources <component-data-sources>][동적 변경] 클러스터 데이터소스에 속한 컴포넌트 데이터소스들의 데이터소스 ID를 명시한다.
    [-oc,--onsConfig <ons-config>]

    ONS와 결합된 클러스터 데이터소를 사용하고자 할 때 설정한다. ONS상의 각 RAC 노드들이 ONS 통신에 사용하는 IP, 포트를 적는다. 클러스터 데이터소스는 설정된 IP, 포트들에 소켓 연결을 맺어 ONS 클라이언트로 동작하게 된다.

    다음과 같은 형식으로 적는다.

    nodes=host1:6200,host2:6200
    [-xa,--xaAffinity <xa-affinity>]글로벌 트랜잭션 Affinity 설정 여부를 정한다. 이 설정이 켜지면 글로벌 트랜잭션 처리가 하나의 RAC 인스턴스에 한정하여 이루어져 글로벌 트랜잭션 처리 성능 향상을 꾀할 수 있다.
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-detail]변경 결과에 대한 상세 정보가 출력된다.
  • 예제

    [DAS]domain1.adminServer>modifycds -id cds1 -cds ds1 
    Successfully performed the MODIFY operation for configuration of the cluster data source [cds1].
    Check the results using "modify-cluster-data-source -id cds1"

4.2.11.6. modify-data-source

데이터소스의 설정을 변경한다. 일부 설정은 동적으로 변경 가능하다.

  • alias

    modifyds

  • 사용법

    modify-data-source -id,--dataSourceID <data-source-id>
                 [-user,--user <user>]
                 [-pw,--password <password>]
                 [-algorithm,--algorithm <algorithm>]
                 [-ac,--autoCommit <auto-commit-value>]
                 [-sqt,--stmtQueryTimeout <statement-query-timeout>]
                 [-aocl,--actionOnConnectionLeak <action-on-connection-leak>]
                 [-min,--min <minimum-size>]
                 [-max,--max <maximum-size>]
                 [-step,--step <resizing-step>]
                 [-period,--period <resizing-period>]
                 [-ew,--enableWait <enable-wait>]
                 [-wt,--waitTime <wait-time>]
                 [-dds,--delegationDataSource <delegation-data-source>]
                 [-muc,--maxUseCount <max-use-count>]
                 [-cq,--checkQuery <check-query>]
                 [-cqt,--checkQueryTimeout <check-query-timeout>]
                 [-nvi,--nonValidationInterval <non-validation-interval>]
                 [-cqp,--checkQueryPeriod <check-query-period>]
                 [-cqrc,--checkQueryRetrialCount <check-query-retrial-count>]
                 [-dpocq,--destroyPolicyOnCheckQuery <destroy-policy-on-check-query>]
                 [-scs,--stmtCachingSize <stmt-caching-size>]
                 [-sfs,--stmtFetchSize <stmt-fetch-size>]
                 [-ct,--connectionTrace <connection-trace>]
                 [-gct,--getConnectionTrace <get-connection-trace>]
                 [-act,--autoCommitTrace <auto-commit-trace>]
                 [-ust,--useSqlTrace <use-sql-trace>]
                 [-kcho,--keepConnectionHandleOpen <keep-connection-handle-open>]
                 [-en,--exportName <export-name>]
                 [-dscn,--dataSourceClassName <data-source-class-name>]
                 [-dst,--dataSourceType <data-source-type>]
                 [-vendor,--vendor <vendor>]
                 [-desc,--description <description>]
                 [-sn,--serverName <server-name>]
                 [-pn,--portNumber <port-number>]
                 [-dn,--databaseName <database-name>]
                 [-lt,--loginTimeout <login-timeout>]
                 [-il,--isolationLevel <isolation-level>]
                 [-pdt,--poolDestroyTimeout <pool-destroy-timeout>]
                 [-prop,--property <property>]
                 [-sxe,--supportXaEmulation <support-xa-emulation>]
                 [-ddba,--delegationDba <delegation-dba>]
                 [-dbat,--dbaTimeout <dba-timeout>]
                 [-cqc,--checkQueryClass <check-query-class>]
                 [-is,--initSql <init-sql>]
                 [-f,--forceLock]
                 [-detail]
  • 파라미터

    파라미터설명
    [-id,--dataSourceID <data-source-id>]데이터소스의 ID를 설정한다. 하나의 도메인에서 데이터소스 ID는 데이터소스의 유일한 식별자로서 동작하도록 설정해야 한다.
    [-user,--user <user>]

    [동적 변경] 데이터베이스 사용자의 ID를 설정한다. 트랜잭션 처리 등을 위해서는 충분한 권한을 가지고 있어야 한다.

    설정을 해제하려면 옵션 값으로 "unset"을 입력한다.

    [-pw,--password <password>]

    [동적 변경] 데이터베이스 사용자의 패스워드를 설정한다.

    패스워드는 '{algorithm:keysize}ciphertext' 와 같은 형식으로 암호화해서 저장한다.

    설정을 해제하려면 옵션 값으로 "unset"을 입력한다.

    [-algorithm,--algorithm <algorithm>]

    [동적 변경] 데이터베이스 사용자 패스워드의 알고리즘을 설정한다.

    algorithm 옵션은 password 옵션과 함께 사용될 때에만 의미가 있다.

    사용할 수 있는 알고리즘은 "base64, DES, DESede, AES, SEED, and Blowfish" 이다.

    [-ac,--autoCommit <auto-commit-value>]

    [동적 변경] 데이터소스의 기본 auto-commit 설정으로 다음 중에 하나를 설정한다.

    • TRUE

    • FALSE

    • DRIVER : JEUS는 auto-commit 설정에 관여하지 않으며 JDBC 드라이버의 auto-commit 설정을 따른다.

    XA 에뮬레이션 기능을 사용하는 Connection Pool 데이터소스 또는 XA 데이터소스의 경우 트랜잭션이 연동되어 있지 않을 때만 이 설정값이 유효하다.

    [-sqt,--stmtQueryTimeout <statement-query-timeout>]

    [동적 변경] 데이터소스로부터 얻은 커넥션을 통해 생성된 java.sql.Statement 객체에 지정될 쿼리 타임아웃을 설정한다.

    JEUS는 JDBC API를 통해 정의되고 JDBC 드라이버 벤더에서 구현한 쿼리 타임아웃 설정 메소드(java.sql.Statement#setQueryTimeout)를 호출할 뿐이다. JDBC 드라이버 벤더별로 쿼리 타임아웃 적용에 약간의 차이를 보인다. (단위: ms)

    [-aocl,--actionOnConnectionLeak <action-on-connection-leak>]

    [동적 변경] 애플리케이션(주로 stateless 컴포넌트 - Servelet/JSP, stateless Session Bean, MDB)에서 사용하고 제대로 반환하지 않은 JDBC 커넥션을 감지했을 때 JEUS가 취하는 액션을 정의한다.

    다음의 값 중에 하나를 설정한다.

    • NO_ACTION : 아무런 액션을 취하지 않는다.

    • WARNING : 반환되지 않은 JDBC 커넥션 정보를 로그로 남긴다.

    • AUTO_CLOSE : 반환되지 않은 JDBC 커넥션 정보를 로그로 남기며 해당 JDBC 커넥션을 회수한다.

    설정하지 않을 경우 서버의 설정을 따른다.설정을 해제하려면 옵션 값으로 "unset"을 입력한다.

    [-min,--min <minimum-size>][동적 변경] Connection Pool에 Pooling되는 커넥션의 최솟값을 지정한다.
    [-max,--max <maximum-size>][동적 변경] Connection Pool에 Pooling되는 커넥션의 최댓값을 지정한다.
    [-step,--step <resizing-step>][동적 변경] Connection Pool에 커넥션이 부족할 때 현재 커넥션의 개수가 최댓값 이하인 경우 DB로부터 커넥션을 새로 받아와 채우는 데 이때 새로 받아오는 커넥션의 개수를 지정한다.
    [-period,--period <resizing-period>][동적 변경] Connection Pool의 크기를 최솟값에 맞춰 조정하는 주기를 설정한다. Connection Pool의 크기가 최솟값을 초과하는 경우에는 사용하지 않는 커넥션들을 닫아주고 Connection Pool의 크기가 최솟값에 미치지 못하는 경우에는 DB로 붙여 커넥션을 새로 받아와 채운다. (단위: ms)
    [-ew,--enableWait <enable-wait>]

    [동적 변경] Connection Pool에 사용 가능한 커넥션이 없고 커넥션도 더 이상 늘릴 수 없을 때 커넥션 요청을 처리하는 방법을 결정한다.

    • true : 이용 가능한 커넥션을 얻기 위해 기다린다.

    • false : 새로운 커넥션을 만들어서 제공하지만 그 커넥션은 반환되었을 때 Pooling되지 않고 버려진다. 이를 일회용(disposable) 커넥션이라고도 한다.

    [-wt,--waitTime <wait-time>][동적 변경] --enable-wait이 true인 경우에만 유효한 설정으로 커넥션을 얻기 위해 대기하는 한계 시간을 나타낸다. 만약 이 시간이 지나도 커넥션을 얻지 못하면 JEUS는 타임아웃 예외를 발생시킨다. (단위: ms)
    [-dds,--delegationDataSource <delegation-data-source>]

    [동적 변경] 트랜잭션과 연동하지 않은 상태에서는 XA 데이터소스를 통해 커넥션을 얻기보다 Connection Pool 데이터소스를 통해 커넥션을 얻는 것이 낫다.

    기능의 차이도 없고, 트랜잭션 연동을 위한 기능을 포함하고 있는 XA 커넥션은 시스템에 부담을 더 주기 때문이다. 이를 위해 XA 데이터소스인 경우 이 설정을 통하여 트랜잭션과 연동하지 않은 상태에서의 커넥션 요청을 위임할 Connection Pool 데이터소스를 지정한다. 한편 Oracle, DB2 등에서 XA 커넥션을 트랜잭션 없이도 사용하고, 트랜잭션에 연동도 하면서 사용하다 보면 XA를 시작할 수 없는 예외가 발생하기도 하는데 정확한 원인은 알 수 없기 때문에 이를 회피하기 위한 방편으로서도 이 설정을 이용한다.

    설정을 해제하려면 옵션 값으로 "unset"을 입력한다.

    [-muc,--maxUseCount <max-use-count>][동적 변경] 커넥션의 최대 사용 횟수이다. 이 사용 횟수 이상이 되면 새로운 커넥션으로 교체한다. 기본값은 0으로 이는 커넥션을 교체하지 않겠다는 의미다.
    [-cq,--checkQuery <check-query>]

    [동적 변경] 커넥션 상태 점검에 사용될 쿼리(check-query)를 설정한다. 보통 DB와의 연결 유효성만을 확인하면 되므로 간단한 select 쿼리를 사용하는 것을 권장한다.

    설정을 해제하려면 옵션 값으로 "unset"을 입력한다.

    [-cqt,--checkQueryTimeout <check-query-timeout>]

    [동적 변경] 커넥션 점검을 위해 check-query를 수행했을 때 DB가 응답이 없어 드라이버가 계속 기다리는 상황이 발생할 수 있다. 이런 경우를 피하기 위해 check-query에 대해 쿼리 타임아웃을 적용한다. 이것은 JDBC API에서 정의한 java.sql.Statement#setQueryTimeout 메소드의 호출을 통해 가능하다.

    1000ms보다 작을 경우 0으로 설정되므로 주의한다. (단위: ms)

    [-nvi,--nonValidationInterval <non-validation-interval>]

    [동적 변경] 커넥션 점검이 너무 잦아서 오버헤드가 발생하는 경우 설정한다. 커넥션 점검을 수행하기 직전의 시각과 가장 최근의 커넥션 점검 시각과의 차이가 설정한 시간 간격 이내면 커넥션 점검을 생략하도록 하는 설정이다. (단위: ms)

    예를 들어 이 설정값이 5000ms인 경우 어떤 커넥션의 마지막 커넥션 점검 시간으로부터 아직 5초가 지나지 않았다면 그 커넥션에 대한 점검이 생략된 채 애플리케이션에 전달되게 된다.

    [-cqp,--checkQueryPeriod <check-query-period>]

    [동적 변경] Connection Pool의 커넥션들을 설정한 주기마다 체크하여 문제가 있는 커넥션을 제거한다. (단위: ms)

    클러스터 데이터소스에 속한 데이터소스는 자신의 상태 체크에 사용하므로 반드시 설정해야 한다.

    [-cqrc,--checkQueryRetrialCount <check-query-retrial-count>]

    [동적 변경] 커넥션 점검은 기본적으로 --destroyPolicyOnCheckQuery가 FAILED_CONNECTION_ONLY로 설정된 경우 한 번 수행된다.

    --destroyPolicyOnCheckQuery가 ALL_CONNECTIONS로 설정되어 있을 경우에는 최초의 커넥션 점검에서 커넥션 이상이 확인되면 또 다른 커넥션에 대해서 한 번 더 커넥션 점검이 이루어져 총 두 번의 커넥션 점검이 수행될 수 있다. 이 설정값이 이러한 기본 커넥션 점검 수행 횟수에 더해져 최종 커넥션 점검 수행 횟수가 정해진다.

    [-dpocq,--destroyPolicyOnCheckQuery <destroy-policy-on-check-query>]

    [동적 변경] 커넥션이 유효하지 않은 것으로 확인되었을 때 Connection Pool에 있는 다른 커넥션들에 대한 처리 정책을 설정한다.

    • FAILED_CONNECTION_ONLY : 유효하지 않은 것으로 확인된 커넥션만 제거한다.

    • ALL_CONNTECTIONS : 유효하지 않은 것으로 확인된 커넥션을 제거하고 Connection Pool에 있는 다른 커넥션의 유효성을 한 번 더 확인한다. 그조차 유효하지 않은 것으로 확인되면 Connection Pool의 모든 커넥션을 제거한다.

    [-scs,--stmtCachingSize <stmt-caching-size>]

    [동적 변경] JDBC 드라이버는 애플리케이션에서 prepared statement를 요청할 때마다 파라미터로 넘어온 SQL 문장을 파싱한다. 이 파싱 작업이 성능에 영향을 줄 수 있기 때문에 이를 피하기 위해서 JEUS 내부적으로 prepared statement를 캐시하는 기능을 제공한다. 이 설정은 캐싱할 prepared statement의 개수를 지정한다. 이 기능을 사용하면 커넥션을 항상 열어둔 채로 사용하기 때문에 커넥션을 닫았을 때 드라이버가 해주는 클리어 작업이 이뤄지지 않는다.

    예를 들어 Oracle JDBC 드라이버의 경우 auto-commit을 false로 설정해서 사용하다가 commit이나 rollback을 하지 않고 커넥션을 닫으면 무조건 commit을 하도록 되어 있는데 이러한 처리가 되지 않는다.

    만약 JDBC 드라이버에서 statement 캐시 기능을 제공한다면 그것을 사용하기 바란다.

    [-sfs,--stmtFetchSize <stmt-fetch-size>][동적 변경] JDBC 드라이버 statement의 fetch 사이즈를 설정한다.
    [-ct,--connectionTrace <connection-trace>]

    [동적 변경] 커넥션 관련 부가 정보 제공 여부를 결정한다.

    • false : --getConnectionTrace와 --autoCommitTrace가 모두 무효가 된다.

    [-gct,--getConnectionTrace <get-connection-trace>][동적 변경] 애플리케이션이 java.sql.DataSource#getConnection을 호출했을 때의 Stack Trace를 확인할 수 있도록 한다.
    [-act,--autoCommitTrace <auto-commit-trace>][동적 변경] java.sql.Connection#setAutoCommit이 호출되었을 때 관련 로그와 Stack Trace를 서버 로그에 기록하도록 한다. 단, jeus.jdbc.connection-trace 로거의 로그 레벨을 FINE으로 설정해야 한다.
    [-ust,--useSqlTrace <use-sql-trace>][동적 변경] Connection별로 사용하고 있는 SQL 쿼리를 보여주는 기능이다. jeus.jdbc.sql 로거의 레벨을 FINE으로 설정할 경우 서버 로그를 통해서 SQL 쿼리 히스토리를 확인할 수 있다. 이 기능을 사용할 경우 JDBC 드라이버의 statement 구현체를 JEUS의 것으로 감싸게되므로 JDBC 드라이버의 statement 객체를 캐스팅해서 사용하는 애플리케이션은 이 기능을 사용할 수 없다.
    [-kcho,--keepConnectionHandleOpen <keep-connection-handle-open>]

    [동적 변경] true로 설정하면 XA 커넥션을 사용하고 Pool에 반납할 때 그에 대한 핸들(또는 논리적 커넥션)을 닫지 않고 열어둔다.

    DB2 universal 드라이버의 경우에 사용할 필요가 있다. 이 기능을 사용하면 커넥션 핸들이 닫히지 않으므로 커넥션을 닫을 때 드라이버가 해주는 클리어 작업이 이뤄지지 않는다.

    예를 들어 Oracle JDBC 드라이버의 경우 auto-commit을 false로 설정해서 사용하다가 commit이나 rollback을 하지 않고 커넥션을 닫으면 무조건 commit을 하도록 되어 있는데 이러한 처리가 되지 않는다.

    [-en,--exportName <export-name>]

    데이터소스의 JNDI 이름을 설정한다. 서로 다른 두 데이터소스가 서로 다른 서버에 JNDI 바인드되는 것을 보장할 수 있으면 해당 데이터소스들은 서로 같은 JNDI 이름을 가질 수 있다. 이는 임의의 서버에서 동일한 JNDI 이름을 가지는 서로 다른 데이터소스를 허용하지 않음을 의미한다.

    설정되지 않으면 데이터소스 ID를 JNDI 이름으로 사용한다. 설정을 해제하려면 옵션 값으로 "unset"을 입력한다.

    [-dscn,--dataSourceClassName <data-source-class-name>]JDBC 드라이버 데이터소스 클래스의 이름을 설정한다. 패키지 이름을 포함하는 완전한 형태로 적는다.
    [-dst,--dataSourceType <data-source-type>]

    데이터소스의 타입을 설정한다.

    • DATA_SOURCE : Connection Pooling 서비스는 제공되지 않는다.

    • CONNECTION_POOL_DATA_SOURCE : Connection Pooling 서비스가 제공되며 XA_DATA_SOURCE로 설정한 경우 Connection Pooling 서비스와 더불어 XA 연동이 지원된다.

    [-vendor,--vendor <vendor>]

    JDBC 드라이버 벤더의 이름를 설정한다.

    설정을 해제하려면 옵션 값으로 "unset"을 입력한다.

    [-desc,--description <description>]

    데이터소스에 대한 설명이다.

    설정을 해제하려면 옵션 값으로 "unset"을 입력한다.

    [-sn,--serverName <server-name>]

    데이터베이스가 실행되는 호스트 이름 또는 IP를 설정한다.

    설정을 해제하려면 옵션 값으로 "unset"을 입력한다.

    [-pn,--portNumber <port-number>]데이터베이스 리스너의 포트 번호를 설정한다. 설정을 해제하려면 옵션 값으로 "unset"을 입력한다.
    [-dn,--databaseName <database-name>]데이터베이스의 이름을 설정한다. Oracle의 경우 데이터베이스의 SID를 설정한다. 설정을 해제하려면 옵션 값으로 "unset"을 입력한다.
    [-lt,--loginTimeout <login-timeout>]데이터베이스와 커넥션을 맺을 때 로그인 단계에서 기다리는 최대 시간을 설정한다. (단위: 초)
    [-il,--isolationLevel <isolation-level>]

    java.sql.Connection에서 정의하는 트랜잭션 isolation을 설정한다. 설정하지 않은 경우 JDBC 드라이버의 기본 설정을 따른다.

    설정을 해제하려면 옵션 값으로 "unset"을 입력한다.

    [-pdt,--poolDestroyTimeout <pool-destroy-timeout>]

    Connection Pool destroy 완료를 기다리는 시간이다. (단위: ms)

    데이터소스를 정의한 애플리케이션을 undeploy하거나 서버가 내려갈 때 Connection Pool을 destroy하게 되는데, 커넥션을 제거하면서 DB와 네트워크 통신을 할 경우 블록될 가능성이 존재하여 Connection Pool destory를 마냥 기다리는 문제가 발생할 수 있다. 이와 같은 문제를 피하기 위해 이 설정을 사용한다.

    설정한 시간 만큼만 Connection Pool destroy 완료를 기다려보고 undeploy 또는 서버 다운을 이어서 진행한다.

    [-prop,--property <property>]

    JDBC 드라이버별로 제각각일 수 있는 속성들의 설정을 모두 수용하기 위해 제공되는 통일된 설정 방법이다.

    • 한 개의 속성은 "이름:타입=값"의 형태로 입력한다.

    • 한 개 이상의 속성을 설정할 경우 콤마(,)로 구분한다.

    [-sxe,--supportXaEmulation <support-xa-emulation>]

    Connection Pool 데이터소스 타입의 데이터소스에만 유효한 설정으로 이 설정을 적용할 경우 Connection Pool 데이터소스의 Connection이 글로벌 트랜잭션(XA)에 참여하도록 에뮬레이션한다.

    JEUS 6까지의 LocalXADataSource의 대체 옵션으로 ConnectionPoolDataSource 타입의 Connection Pool에 사용한다. 하나의 트랜잭션에는 하나의 Connection Pool 데이터소스만 참여할 수 있다는 점에 유의해야 한다.

    [-ddba,--delegationDba <delegation-dba>]

    데이터베이스의 세션을 강제로 죽일 수 있는 권한(DBA 권한)을 가진 데이터소스(이하 DBA 위임 데이터소스)의 JNDI 이름을 설정한다. 이 설정을 한 데이터소스로부터 얻어진 커넥션을 이용한 쿼리 수행이 일정 시간 이상 지체되면 JEUS는 위임 DBA 데이터소스를 통해 해당 커넥션과 연관된 DB 세션을 강제로 제거하도록 하는 쿼리를 DB에 날린다. 이후 애플리케이션이 사용 불가능해진 커넥션으로 인해 발생한 예외를 처리하고 커넥션을 닫아주게 되면 JEUS는 그 커넥션을 제거하고 DB로부터 새로운 커넥션을 얻어 Connection Pool에 넣는다.

    현재 Tibero, Oracle, Sybase에 대해서 이 기능을 지원한다. 이 기능은 JDBC 2.0 이하 JDBC 드라이버에서 쿼리 수행이 지나치게 오래 걸릴 때 그것을 중단시킬 방법으로서 고안된 것이다. 그러나 JDBC 3.0 또는 그 이상의 버전을 구현한 JDBC 드라이버는 java.sql.Statement#setQueryTimeout을 구현하므로 이 기능을 통해 강제로 DB 세션을 제거하기보다는 Statement Query Timeout 설정을 이용하는 것을 권장한다. 특히나 XA 데이터소스의 경우 XA가 정상적으로 진행하는 도중에 DB 세션이 제거되면 XA 처리에 문제가 발생할 수 있기 때문에 Statement Query Timeout과 트랜잭션 타임아웃을 적절하게 설정하여 사용하도록 한다.

    설정을 해제하려면 옵션 값으로 "unset"을 입력한다.

    [-dbat,--dbaTimeout <dba-timeout>]

    위임 DBA 데이터소스는 이 설정으로 지정한 시간 동안만 커넥션의 쿼리 수행을 기다려준다. 설정한 시간이 경과하면 해당 커넥션과 연관된 DB 세션을 강제로 제거하는 쿼리를 DB로 보낸다.

    --delegationDba가 설정된 경우에만 유효하다. (단위: ms)

    [-cqc,--checkQueryClass <check-query-class>]

    사용자나 개발자가 커넥션 점검 기능을 커스터마이즈할 경우 그것을 위해 구현한 클래스의 패키지 이름을 포함한 이름을 적어준다. 이때 그 클래스는 반드시 jeus.jdbc.connectionpool.JEUSConnectionChecker 인터페이스를 구현해야 한다.

    설정을 해제하려면 옵션 값으로 "unset"을 입력한다.

    [-is,--initSql <init-sql>]

    커넥션을 생성한 후 가장 처음으로 수행할 SQL 쿼리를 설정한다.

    설정을 해제하려면 옵션 값으로 "unset"을 입력한다.

    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-detail]변경 결과에 대한 상세 정보가 출력된다.
  • 예제

    [DAS]domain1.adminServer>modifyds -id ds1 -min 10 -max 50
    Successfully performed the MODIFY operation for configuration of the data source [ds1].
    Check the results using "modify-data-source -id ds1"

4.2.11.7. remove-cluster-data-source

클러스터 데이터소스를 도메인으로부터 동적으로 삭제한다.

  • alias

    rmcds

  • 사용법

    remove-cluster-data-source [-id,--dataSourceID <data-source-id>]
                               [-f,--forceLock]
                               [-detail]
  • 파라미터

    파라미터설명
    [-id,--dataSourceID <data-source-id>]클러스터 데이터소스 ID이다.
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-detail]변경 결과에 대한 상세 정보가 출력된다.
  • 예제

    [DAS]domain1.adminServer>rmcds -id cds1
    Successfully performed the REMOVE operation for cluster data source [cds1] from domain.
    Check the results using "remove-cluster-data-source"

4.2.11.8. remove-data-source

데이터소스를 도메인으로부터 동적으로 삭제한다.

  • alias

    rmds

  • 사용법

    remove-data-source [-id,--dataSourceID <data-source-id>]
                       [-f,--forceLock]
                       [-detail]
  • 파라미터

    파라미터설명
    [-id,--dataSourceID <data-source-id>]데이터소스 ID를 설정한다.
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-detail]변경 결과에 대한 상세한 정보가 출력된다.
  • 예제

    [DAS]domain1.adminServer>rmds -id ds1 
    Successfully performed the REMOVE operation for data source [ds1] from the domain.
    Check the results using "remove-data-source"

4.2.11.9. test-data-source-config

데이터소스의 설정이 올바른지 확인한다.

  • alias

    testdsconf, testdsconfig, testdscfg

  • 사용법

    test-data-source-config -id <data-source-id>
                            [-all]
  • 파라미터

    파라미터설명
    -id <data-source-id>데이터소스 ID이다.
    [-all]DAS의 jeusadmin에서만 사용 가능하며, 도메인 내의 기동 중인 모든 서버들 중 해당 데이터소스를 타겟으로 설정한 서버에게 명령을 요청하고 결과를 수집하여 보여준다.
  • 예제

    [DAS]domain1.adminServer>testdscfg -id ds1
    The data source [ds1] is properly configured and can be used.

4.2.12. Connection Pool 제어 및 모니터링 명령어

JDBC나 JCA Connection Pool에 대한 모니터링 및 제어 기능을 제공한다. 명령어들의 목록은 다음과 같다.

명령어설명
connection-pool-info

JDBC나 JCA Connection Pool을 모니터링한다.

특정 Connection Pool의 ID를 명시할 경우 해당 Connection Pool의 정보를 자세히 조회한다.

control-connection-pool

JDBC나 JCA Connection Pool을 제어한다.

Connection Pool 생성, Connection Pool 활성화, Connection Pool 비활성화, Connection Pool refresh, Connection Pool shrink가 가능하다.

control-cluster-data-source클러스터 데이터소스를 제어한다. 클러스터 데이터소스에 속한 컴포넌트 데이터소스의 목록을 보여주거나 failback을 수행할 수 있다.
create-connection-pool

JDBC Connection Pool을 생성한다.

JCA Connection Pool에 대해서는 동작하지 않는다.

destroy-connectionActive 상태의 커넥션의 연결을 강제로 끊는다.
disable-connection-pool

JDBC Connection Pool을 비활성화한다.

JCA Connection Pool에 대해서는 동작하지 않는다.

enable-connection-pool

JDBC Connection Pool을 활성화한다.

JCA Connection Pool에 대해서는 동작하지 않는다.

refresh-connection-poolJDBC Connection Pool의 커넥션들을 새로운 커넥션으로 교체한다. JCA Connection Pool에 대해서는 동작하지 않는다.
return-connectionActive 상태의 커넥션을 Connection Pool로 반환한다.
shrink-connection-poolJDBC Connection Pool의 커넥션 개수를 설정된 커넥션 최솟값으로 조정한다. JCA Connection Pool에 대해서는 동작하지 않는다.

4.2.12.1. connection-pool-info

JDBC나 JCA Connection Pool을 모니터링한다. 특정 Connection Pool의 ID를 명시할 경우 해당 Connection Pool의 정보를 자세히 조회한다.

  • alias

    cpinfo

  • 사용법

    connection-pool-info -server <server-name>
                         [-id <connection-pool-id>]
                         [-jca | -jdbc]
                         [-jndi]
                         [-active]
                         [-t]
                         [-stmt]
  • 파라미터

    파라미터설명
    -server <server-name>서버 이름이다.
    [-id <connection-pool-id>]Connection Pool ID이다.
    [-jca]JCA Connection Pool의 정보만 표시한다.
    [-jdbc]JDBC Connection Pool의 정보만 표시한다.
    [-jndi]Connection Pool의 JNDI 이름을 표시한다.
    [-active]현재 서버에 생성된 Connection Pool만 표시한다.
    [-t]

    커넥션을 가장 최근에 사용한 Thread의 이름을 표시한다.

    -id 옵션이 설정된 경우에만 유효하다.

    [-stmt]각 커넥션별 Statement Cache의 정보를 표시한다.
  • 예제

    [DAS]domain1.adminServer>cpinfo -server server1 -jndi -jdbc
    The connection pool information on the server [server1].
    ================================================================================
    +------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
    | Connection |JNDI | Min | Max | Act | Act | Act | Idle| Dis | Tot | Wait| Ena |
    |   Pool ID  |Expo |     |     | ive | ive | ive |     |posa | al  |     |bled |
    |            | rt  |     |     | Max |     |Aver |     | ble |     |     |     |
    |            |Name |     |     |     |     | age |     |     |     |     |     |
    +------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
    | ds1        | ds1 |   2 |  30 |   0 |   0 | 0.0 |   2 |   0 |   2 | fal | true|
    |            |     |     |     |     |     |     |     |     |     |se   |     |
    +------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
    | ds2 *      | ds2 |   2 |  30 |   0 |   0 | 0.0 |   0 |   0 |   0 | fal | fal |
    |            |     |     |     |     |     |     |     |     |     |se   |se   |
    +------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
    
    * : has not been created, total = active + idle + disposable
    ================================================================================
    
    [DAS]domain1.adminServer>cpinfo -server server1 -id ds1 -t -jdbc 
    Information about connections in the server [server1]'s connection pool [ds1].
    ================================================================================
    +---------------+-------+-------------------+-----------+--------+-------------+
    | Connection ID | State |  State time(sec.) | Use count |  Type  | Thread name |
    +---------------+-------+-------------------+-----------+--------+-------------+
    | ds1-1         | active|          1105.954 |         1 | pooled | http-w1     |
    | ds1-2         | idle  |          1105.923 |         0 | pooled |             |
    +---------------+-------+-------------------+-----------+--------+-------------+
    ================================================================================
    
    [DAS]domain1.adminServer>cpinfo -server server1 -id ds1 -stmt -jdbc
    Information about statement caches in the server [server1]'s connection pool [ds1].
    ================================================================================
    +--------------+-----------+--------+---------+--------+-----------+-----------+
    | Connection ID|   Access  |   Hit  |   Miss  |   Add  |   Remove  |  Current  |
    |              |   Count   | Count  |  Count  | Count  |   Count   |   Size    |
    +--------------+-----------+--------+---------+--------+-----------+-----------+
    | ds1-1        |         5 |      0 |       5 |      5 |         0 |         5 |
    +--------------+-----------+--------+---------+--------+-----------+-----------+
    | ds1-2        |         5 |      2 |       3 |      3 |         0 |         3 |
    +--------------+-----------+--------+---------+--------+-----------+-----------+
    ================================================================================

4.2.12.2. control-connection-pool

JDBC나 JCA Connection Pool을 제어한다. Connection Pool 생성, Connection Pool 활성화, Connection Pool 비활성화, Connection Pool refresh, Connection Pool shrink가 가능하다.

  • alias

    controlcp, ctrlcp

  • 사용법

    control-connection-pool -id <connection-pool-id> 
                            [-server <server-name>]
                            [-enable | -shrink | -disable | -refresh | -create]
  • 파라미터

    파라미터설명
    -id <connection-pool-id>Connection Pool ID이다.
    [-server <server-name>]서버 이름이다.
    -enableConnection Pool을 활성화한다.
    -shrinkConnection Pool의 커넥션 개수를 설정된 커넥션 최솟값으로 조정한다.
    -disableConnection Pool을 비활성화한다.
    -refreshConnection Pool의 커넥션들을 새로운 커넥션으로 교체한다.
    -createConnection Pool을 생성한다.
  • 예제

    [DAS]domain1.adminServer>ctrlcp -id ds1 -server server1 -enable
    Servers that successfully enabled a connection pool : server1
    Servers that failed to enable a connection pool : none.
    
    [DAS]domain1.adminServer>ctrlcp -id ds1 -server server1 -shrink
    Servers that successfully shrank a connection pool : server1
    Servers that failed to shrink a connection pool : none.
    
    [DAS]domain1.adminServer>ctrlcp -id ds1 -server server1 -disable
    Servers that successfully disabled a connection pool : server1
    Servers that failed to disable a connection pool : none.
    
    [DAS]domain1.adminServer>ctrlcp -id ds1 -server server1 -refresh
    Servers that successfully refreshed a connection pool : server1
    Servers that failed to refresh a connection pool : none.
    
    [DAS]domain1.adminServer>ctrlcp -id ds1 -server server1 -create
    Servers that successfully created a connection pool : server1
    Servers that failed to create a connection pool : none.

4.2.12.3. control-cluster-data-source

클러스터 데이터소스를 제어한다. 클러스터 데이터소스에 속한 컴포넌트 데이터소스의 목록을 보여주거나 failback을 수행한다.

  • alias

    controlcds, ctrlcds

  • 사용법

    control-cluster-data-source -server <server-name>
                               -id <data-source-id>
                               [-failback]
  • 파라미터

    파라미터설명
    -server <server-name>서버 이름이다.
    -id <data-source-id>클러스터 데이터소스 ID이다.
    [-failback]클러스터 데이터소스에 대하여 failback을 수행한다.
  • 예제

    [DAS]domain1.adminServer>ctrlcds -server server1 -id cds1  
    Component data sources of the cluster data source [cds1] : ds1, ds2
    
    [DAS]domain1.adminServer>ctrlcds -server server1 -id cds1 -failback   
    The failback for the cluster data source [cds1] succeeded.

4.2.12.4. create-connection-pool

JDBC Connection Pool을 생성한다. JCA Connection Pool에 대해서는 동작하지 않는다.

  • alias

    createcp

  • 사용법

    create-connection-pool -id <connection-pool-id> 
                           [-server <server-name>]
  • 파라미터

    파라미터설명
    -id <connection-pool-id>JDBC Connection Pool ID이다.
    [-server <server-name>]서버 이름이다.
  • 예제

    [DAS]domain1.adminServer>createcp -id ds1 -server server1 
    Servers that successfully created a connection pool : server1
    Servers that failed to create a connection pool : none.

4.2.12.5. destroy-connection

Active 상태의 커넥션의 연결을 강제로 끊는다.

애플리케이션에서 커넥션을 요청하여 커넥션이 현재 Active 상태인데 이 커넥션에 문제가 있다고 판단되는 경우 해당 커넥션을 중도에 강제로 파기하기 위해 이 명령어를 사용할 수 있다. 이 명령어는 Active 상태의 커넥션에 대해서만 동작한다. 단, 이 기능은 실제로 물리적 연결을 강제로 끊는 것이므로 사용에 주의를 요한다.

  • alias

    destroyconnection

  • 사용법

    destroy-connection -server <server-name>
              [-cpid <connection-pool-id> | -cid <connection-id>]        
  • 파라미터

    파라미터설명
    -server <server-name>연결을 강제로 끊고자 하는 커넥션을 가지고 있는 Connection Pool이 있는 서버의 이름이다.
    [-cpid <connection-pool-id>]Connection Pool에 존재하는 모든 커넥션들에 대해 연결 끊기를 시도할 때 입력하는 Connection Pool의 ID이다.
    [-cid <connection-id>]Connection Pool에 존재하는 특정 커넥션의 연결을 강제로 끊을 때 입력하는 Connection ID이다. Connection ID는 connection-pool-info 명령에 -id 옵션을 주어 확인할 수 있다. 한번에 여러 개의 커넥션을 강제로 연결 끊고자 할 땐 여러 개의 Connection ID 값을 콤마(,)로 구분하여 입력한다.
  • 예제

    [DAS]domain1.adminServer>destroy-connection -server server1 -cpid ds1
    Successfully destroyed the connections from the connection pool.
    
    [DAS]domain1.adminServer>return-connection -server server1 -cid ds1-1,ds1-2
    Successfully destroyed the connections from the connection pool.

4.2.12.6. disable-connection-pool

JDBC Connection Pool을 비활성화한다. JCA Connection Pool에 대해서는 동작하지 않는다.

  • alias

    disablecp

  • 사용법

    disable-connection-pool -id <connection-pool-id> 
                            [-server <server-name>]
  • 파라미터

    파라미터설명
    -id <connection-pool-id>JDBC Connection Pool ID이다.
    [-server <server-name>]서버 이름이다.
  • 예제

    [DAS]domain1.adminServer>disablecp -id ds1 -server server1 
    Servers that successfully disabled a connection pool : server1
    Servers that failed to disable a connection pool : none.

4.2.12.7. enable-connection-pool

JDBC Connection Pool을 활성화한다. JCA Connection Pool에 대해서는 동작하지 않는다.

  • alias

    enablecp

  • 사용법

    enable-connection-pool  -id <connection-pool-id> 
                            [-server <server-name>]
  • 파라미터

    파라미터설명
    -id <connection-pool-id>JDBC Connection Pool ID이다.
    [-server <server-name>]서버 이름이다.
  • 예제

    [DAS]domain1.adminServer>enablecp -id ds1 -server server1
    Servers that successfully enabled a connection pool : server1
    Servers that failed to enable a connection pool : none.

4.2.12.8. refresh-connection-pool

JDBC Connection Pool의 커넥션들을 새로운 커넥션으로 교체한다. JCA Connection Pool에 대해서는 동작하지 않는다.

  • alias

    refreshcp

  • 사용법

    refresh-connection-pool -id <connection-pool-id> 
                            [-server <server-name>]
  • 파라미터

    파라미터설명
    -id <connection-pool-id>JDBC Connection Pool ID이다.
    [-server <server-name>]서버 이름이다.
  • 예제

    [DAS]domain1.adminServer>refreshcp -id ds1 -server server1 
    Servers that successfully refreshed a connection pool : server1
    Servers that failed to refresh a connection pool : none.

4.2.12.9. return-connection

Active 상태의 커넥션을 Connection Pool로 반환한다.

애플리케이션에서 커넥션을 close해주지 않았을 때 데이터소스 설정에서 Action On Connection Leak 설정값이 AutoClose로 되어있지 않으면 지속적으로 커넥션이 Active 상태로 남아 있게 되는 Leak이 발생하는데, 이러한 경우에 이 명령어를 사용할 수 있다. 이 명령어는 Active 상태의 커넥션에 대해서만 동작한다. 단, 반환하려는 커넥션이 현재 진행 중인 트랜잭션에 작업 중인 경우 반환되지 않는다. 그리고 명령어가 수행되어 커넥션 반환하는 중에 에러가 발생하면 해당 커넥션은 destroy 된다.

  • alias

    returnconnection

  • 사용법

    return-connection -server <server-name>
              [-cpid <connection-pool-id> | -cid <connection-id>]          
  • 파라미터

    파라미터설명
    -server <server-name>연결 반환하고자 하는 커넥션을 가지고 있는 Connection Pool이 있는 서버의 이름이다.
    [-cpid <connection-pool-id>]Connection Pool에 존재하는 모든 커넥션들에 대해 연결 반환을 시도할 때 입력하는 Connection Pool의 ID이다.
    [-cid <connection-id>]Connection Pool에 존재하는 특정 커넥션의 연결을 Connection Pool로 반환할 때 입력하는 Connection ID이다. Connection ID는 connection-pool-info 명령에 -id 옵션을 주어 확인할 수 있다. 한번에 여러 개의 커넥션을 Connection Pool로 연결 반환하고자 할 땐 여러 개의 Connection ID 값을 콤마(,)로 구분하여 입력한다.
  • 예제

    [DAS]domain1.adminServer>return-connection -server server1 -cpid ds1
    Successfully returned the connections to the connection pool.
    
    [DAS]domain1.adminServer>return-connection -server server1 -cid ds1-1,ds1-2
    Successfully returned the connections to the connection pool.

4.2.12.10. shrink-connection-pool

JDBC Connection Pool의 커넥션 개수를 설정된 커넥션 최솟값으로 조정한다. JCA Connection Pool에 대해서는 동작하지 않는다.

  • alias

    shrinkcp

  • 사용법

    shrink-connection-pool -id <connection-pool-id> 
                          [-server <server-name>]
  • 파라미터

    파라미터설명
    -id <connection-pool-id>JDBC Connection Pool ID이다.
    [-server <server-name>]서버 이름이다.
  • 예제

    [DAS]domain1.adminServer>shrinkcp -id ds1 -server server1 
    Servers that successfully shrank a connection pool : server1
    Servers that failed to shrink a connection pool : none.

4.2.13. 트랜잭션 관련 명령어

트랜잭션 관련 명령어의 목록은 다음과 같다.

명령어설명
modify-transaction-manager지정 서버의 트랜잭션 매니저 설정을 변경한다.
recover-transactions지정 서버의 리소스 매니저를 복구한다. 복구할 특정 리소스를 선택할 수 있다.
show-transaction-manager지정 서버의 트랜잭션 매니저 설정을 확인한다.
transaction-info지정 서버의 트랜잭션을 상태별로 확인한다.

4.2.13.1. modify-transaction-manager

지정 서버의 트랜잭션 매니저 설정을 변경한다.

  • alias

    modify-tm, modifytm, tmconfig, tmconf

  • 사용법

    modify-transaction-manager <server-name>
                        [-at,--activeTimeout <active timeout>]
                        [-pt,--prepareTimeout <prepare timeout>]
                        [-pdt,--preparedTimeout <prepared timeout>]
                        [-ct,--commitTimeout <commit timeout>]
                        [-rt,--recoveryTimeout <recovery timeout>]
                        [-it,--incompleteTimeout <incomplete timeout>]
                        [-d,--txLogDir <transaction log directory>]
                        [-a,--automaticRecovery <automatic recovery enable/disable>]
                        [-f,--forceLock]
                        [-detail]
  • 파라미터

    파라미터설명
    <server-name>트랜잭션 설정을 변경할 서버의 이름이다.
    [-at,--activeTimeout <active timeout>]트랜잭션을 시작하고 commit까지의 최대 시간이다. 시간을 초과한 트랜잭션은 강제로 rollback된다.
    [-pt,--prepareTimeout <prepare timeout>]루트 코디네이터가 prepare를 보내고 하위 코디네이터로부터 그 응답을 기다리는 최대 시간이다.
    [-pdt,--preparedTimeout <prepared timeout>]하위 코디네이터가 prepare 응답을 보내고 루트 코디네이터의 Global decision을 기다리는 최대 시간이다. 시간을 초과한 경우 루트에 prepare 응답을 다시 보낸다.
    [-ct,--commitTimeout <commit timeout>]루트 코디네이터가 하위 코디네이터로 commit을 보내고 그 응답을 기다리는 최대 시간이다. 시간을 초과한 경우 incomplete 트랜잭션으로 취급한다.
    [-rt,--recoveryTimeout <recovery timeout>]recovery 정보를 뽑아내는 데 기다리는 최대 시간이다. 시간을 초과하는 경우 사용자에게 recovery를 맡긴다.
    [-it,--incompleteTimeout <incomplete timeout>]Incomplete 트랜잭션이 recover되기까지 기다리는 최대 시간이다. 시간을 초과할 경우 Incomplete 트랜잭션이라는 정보를 삭제한다.
    [-d,--txLogDir <transaction log directory>]recovery를 위한 트랜잭션 로그를 남기는 디렉터리이다. 자세한 설명은 JEUS Server 안내서”의 “7.5.2. 복구 관련 로그 파일”을 참고한다.
    [-a,--automaticRecovery <automatic recovery enable/disable>][동적 변경] 서버에 이상이 있을 때 다른 서버가 해당 서버의 Incomplete 트랜잭션을 recovery할지 여부를 설정한다. 자세한 설명은 JEUS Server 안내서”의 “7.5. 트랜잭션 복구”를 참고한다.
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
    [-detail]결과를 자세하게 조회한다.
  • 예제

    • 현재 설정 확인

      [DAS]domain1.adminServer>modify-transaction-manager server1
      Shows the current configuration.
      transaction of server (server1)
      ================================================================================
      +---------------------+--------------------------------------------------------+
      | Active Timeout      | 600000                                                 |
      | Prepare Timeout     | 120000                                                 |
      | Prepared Timeout    | 60000                                                  |
      | Commit Timeout      | 240000                                                 |
      | Recovery Timeout    | 120000                                                 |
      | Incomplete Timeout | 86400000                                               |
      | Tx Log Dir          | ${SERVER_HOME}/.workspace/tmlog                        |
      | Automatic Recovery  | false                                                  |
      +---------------------+--------------------------------------------------------+
      ================================================================================
    • 동적 설정인 트랜잭션 자동 복구 기능 켜기

      [DAS]domain1.adminServer>modify-transaction-manager server1 -automaticRecovery true 
      Successfully performed the MODIFY operation for transaction of server (server1).
      Check the results using "show-transaction-manager server1 or modify-transaction-manager sever1"
    • 서버 재시작으로 반영되는 타임아웃 설정 변경

      [DAS]domain1.adminServer>modify-transaction-manager server1 -activeTimeout 20000
      Successfully performed the MODIFY operation for transaction of server (server1), 
      but all changes were non-dynamic. They will be applied after restarting.
      Check the results using "show-transaction-manager server1 or modify-transaction-manager server1"
    • 동적 반영 설정과 서버 재시작으로 반영되는 설정 함께 변경

      [DAS]domain1.adminServer>modify-transaction-manager server1 -automaticRecovery true -activeTimeout 20000
      Successfully performed the MODIFY operation for transaction of server (server1), 
      but some changes were non-dynamic. They will be applied after restarting.
      Check the results using "show-transaction-manager server1 or modify-transaction-manager server1" 

4.2.13.2. recover-transactions

지정 서버의 리소스 매니저를 복구한다. 복구할 특정 리소스를 선택할 수 있다.

  • alias

    recovertx, tmresync

  • 사용법

    recover-transactions -server <server-name>
                         <resource-type>
                         <export-name>
                         [<connector-module-name>]
  • 파라미터

    파라미터설명
    -server <server-name>서버의 이름이다.
    <resource-type>

    복구할 리소스 타입을 지정한다.

    • sql : JDBC XADataSource

    • jms : JMS Connection Factory

    • connector : Connector 리소스 어댑터

    <export-name>리소스의 <export-name>을 지정한다.
    [<connector-module-name>]리소스가 Connector인 경우에는 해당 Connector Module의 이름을 지정한다.
  • 예제

    [DAS]domain1.adminServer>recover-transactions -server server1 sql jdbc/derby/XADataSource
    The recover-transactions command was executed on the server1 server.

4.2.13.3. show-transaction-manager

지정 서버의 트랜잭션 매니저 설정을 확인한다.

  • alias

    show-tm, showtm

  • 사용법

    show-transaction-manager <server-name>
  • 파라미터

    파라미터설명
    <server-name>서버의 이름이다.
  • 예제

    [DAS]domain1.adminServer>show-transaction-manager server1
    Shows the current configuration.
    transaction of server (server1)
    ================================================================================
    +---------------------+--------------------------------------------------------+
    | Active Timeout      | 600000                                                 |
    | Prepare Timeout     | 120000                                                 |
    | Prepared Timeout    | 60000                                                  |
    | Commit Timeout      | 240000                                                 |
    | Recovery Timeout    | 120000                                                 |
    | Incomplete Timeout  | 86400000                                               |
    | Tx Log Dir          | ${SERVER_HOME}/.workspace/tmlog                        |
    | Automatic Recovery  | false                                                  |
    +---------------------+--------------------------------------------------------+
    ================================================================================

4.2.13.4. transaction-info

지정 서버의 트랜잭션을 상태별로 확인한다.

  • alias

    transactioninfo, txinfo

  • 사용법

    transaction-info -server <server-name>
                     [-i,--inflight]
                     [-d,--indoubt]
                     [-r,--retrying]
  • 파라미터

    파라미터설명
    -server <server-name>서버의 이름이다.
    [-i,--inflight]진행 중인 트랜잭션을 확인한다. commit 또는 rollback 단계까지 진행되지 않은 메모리 상의 트랜잭션이다.
    [-d,--indoubt]미완료 트랜잭션을 확인한다. 불완전한 상태의 끝나지 않은 것으로 복구가 필요하거나 현재 결정을 받지 못한 트랜잭션이다.
    [-r,--retrying]재시도할 트랜잭션을 확인한다. 리소스 매니저의 문제로 one-phase-commit 또는 two-phase-commit을 제대로 처리하지 못해 JEUS 자체적으로 재시도 중인 트랜잭션이다.
  • 예제

    [DAS]domain1.adminServer>transaction-info -server server1
    <transactions of server1>
    
    In-Flight Transaction Information
    ================================================================================
    +------------------+---------+-------+--------+---------+---------+------------+
    |        XID       | Coordina| Extern| Status | Timeout |  Elapse | XAResources|
    |                  |   tor   |al XID |        |         |         |            |
    +------------------+---------+-------+--------+---------+---------+------------+
    | 049FE5.00C0A80011| 192.168.|       | STATUS | 5000(ms)| 7418(ms)| jdbc/derby/|
    |2608221CC3D6B40000|0.17:9736|       |_MARKED_|         |         |XADataSource|
    |000000000011.00   |         |       |ROLLBACK|         |         |            |
    +------------------+---------+-------+--------+---------+---------+------------+
    ================================================================================
    
    In-doubt Transaction Information
    ==========================================================================
    +----+----------------+--------------------+-------+------------+--------+
    | XID|   Coordinator  |    External XID    | Status|  Decision  | Sub-XID|
    +----+----------------+--------------------+-------+------------+--------+
    (No data available)
    ==========================================================================
    
    Retrying Transaction Information
    =============================================================
    +----+-----+------------------------------+-------+---------+
    | XID| Name|        Failuere Count        | Status| Decision|
    +----+-----+------------------------------+-------+---------+
    (No data available)
    =============================================================

4.2.14. 보안 관련 명령어

본 절에서는 보안과 관련된 명령어에 대해 설명한다. 보안과 관련 명령어는 각각 사용자, 그룹 및 Policy 관리 명령어로 분류되고, 목록은 다음과 같다.

  • 사용자 관리 명령어

    사용자 관리 명령어는 사용자를 추가, 수정, 삭제할 때 사용한다.

    명령어설명
    add-user새로운 사용자를 추가한다.
    remove-user사용자를 삭제한다.
    list-user-names로그인된 모든 사용자 이름 목록과 각 사용자의 Lock 상태와 만료 상태를 조회한다.
    show-user사용자에 대한 정보를 조회한다.
    modify-default-password-validatorDefault Password Validator를 새로 설정하거나 기존 설정을 변경 또는 삭제한다.
    show-default-password-validatorDefault Password Validator 설정을 조회한다.
    add-custom-password-validatorCustom Password Validator에 새로운 클래스를 등록한다.
    remove-custom-password-validatorCustom Password Validator에 등록된 클래스를 삭제한다.
    show-custom-password-validatorCustom Password Validator에 등록된 클래스 목록을 조회한다.
    show-subject-validationSujbect Validation Service 설정을 조회한다.
    set-password패스워드를 설정한다.
    lock-user특정 사용자에 Lock을 설정한다.
    unlock-user특정 사용자에 설정된 Lock을 해제한다.
    expire-user특정 사용자에 만료시간을 설정한다.
    unexpire-user특정 사용자에 설정된 만료시간을 해제한다.
  • 그룹 관리 명령어

    그룹 관리 명령어는 그룹을 추가, 수정, 삭제할 때 사용한다.

    명령어설명
    add-group새로운 그룹을 추가한다.
    add-user-to-group특정 그룹에 사용자를 추가한다.
    remove-user-from-group특정 그룹의 사용자를 삭제한다.
    remove-group그룹을 삭제한다.
    list-group-names그룹의 목록을 조회한다.
    show-group특정 그룹에 대한 정보를 조회한다.
    check-group-member특정 그룹에 사용자 등록 여부를 조회한다.
  • Policy 관리 명령어

    Policy 명령어는 보안 시스템에서 Policy와 관련된 사항을 관리할 때 사용한다. 이 명령어를 통해서 Principal-Role 매핑, Role-Resource 매핑을 추가하거나 삭제할 수 있다.

    명령어설명
    show-policy특정 Context ID를 포함한 policy를 조회한다.
    assign-role특정 Role에 Principal을 할당한다.
    unassign-role특정 Role에 Principal을 삭제한다.
    assign-resource특정 리소스에 Role을 할당한다.
    unassign-resource특정 리소스를 삭제한다.

주의

본 절에서 소개하는 명령어는 민감한 사안을 다루므로, 이 명령어를 실행하기에 적절한 권한을 가진 사용자로 로그인해야 한다.

4.2.14.1. 공통 적용 사항

다음은 보안 관련 명령어에서 공통적으로 적용되는 옵션에 대한 설명이다.

  • [-domain <domain-name>] 옵션

    • JEUS에서 보안이 적용되는 범위인 보안 도메인을 지정한다(기본값: SYSTEM_DOMAIN). 도메인에 대한 자세한 내용은 "JEUS Security 안내서"를 참고한다.

    • 각 명령어의 옵션 설명에서 위 옵션에 대한 설명은 생략한다.

4.2.14.2. add-custom-password-validator

Custom Password Validator에 새로운 클래스를 추가 등록한다. Password Validation은 JEUS Security 안내서”의 “2.5.4. 패스워드 보안 설정”을 참고한다.

  • alias

    add-custom-validator

  • 사용법

    add-custom-password-validator [-class <class-name> ]
  • 파라미터

    파라미터설명
    <class-name>Custom Password Validator로 등록하기 위해 사용자가 DOMAIN_HOME/lib/application에 jar 파일 형태로 넣어놓은 클래스의 이름이다. 해당 클래스는 jeus.util.PasswordValidator 인터페이스를 구현해야 한다.
  • 예제

    [DAS]domain1.adminServer> add-custom-password-validator -class MyValidator
    Custom password validator [MyValidator] is added successfully.
    Check the results using show-custom-password-validator.

4.2.14.3. add-group

동적으로 보안 시스템에 새로운 그룹를 추가한다. 설정된 그룹 이름은 현재 도메인 내에서 유일해야 한다(list-group-names 명령어로 확인 가능). 그룹 이름은 일련의 호출 과정에서 특정 그룹를 참조하기 위해 사용한다. 즉, 그룹에 대한 ID에 해당된다.

  • alias

    addgroup

  • 사용법

    add-group <group-name>
             [-domain <domain-name>]
             [-f,--forceLock]
  • 파라미터

    파라미터설명
    <group-name>그룹 이름이다.
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
  • 예제

    [DAS]domain1.adminServer> add-group group1
    The group [group1] has been successfully added.

4.2.14.4. add-user

동적으로 보안 시스템에 새로운 사용자를 추가한다. 주어진 사용자 이름은 현재 도메인 내에서 유일해야 한다(list-user-names 명령어로 확인 가능). 사용자 이름은 일련의 호출 과정에서 특정 사용자를 참조하기 위해 사용한다. 즉, 사용자에 대한 ID에 해당된다.

  • alias

    adduser

  • 사용법

    add-user <user-name> 
            [-domain <domain-name>]
            [-f,--forceLock]
  • 파라미터

    파라미터설명
    <user-name>사용자 이름이다.
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
  • 예제

    [DAS]domain1.adminServer> add-user user1
    The user [user1] has been successfully added.

4.2.14.5. add-user-to-group

동적으로 보안 시스템에 등록된 특정 그룹에 새로운 사용자 멤버를 추가한다.

  • alias

    addusertogroup

  • 사용법

    add-user-to-group <group-name>
                      <user-name>
                      [-domain <domain-name>]
                     [-f,--forceLock]
  • 파라미터

    파라미터설명
    <group-name>그룹 이름이다.
    <user-name>사용자 이름이다.
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
  • 예제

    [DAS]domain1.adminServer> add-user-to-group group1 user1
    The user [user1] has been successfully added to the group [group1].

4.2.14.6. assign-resource

동적으로 Role에 특정 리소스와 Action을 할당한다.

  • alias

    assignresource, assignres

  • 사용법

    assign-resource <role-name>
                    <resource-name>
                    -actions <actions>
                    [-contextid <context-id>]
                    [-classname <classname>]
                    [-domain <domain-name>]
                    [-f,--forceLock]
  • 파라미터

    파라미터설명
    <role-name>Role 이름이다.
    <resource-name>[동적 변경] 리소스 이름이다. 리소스 이름은 보통 "jeus.server"와 같은 리스스를 나타내는 Java 클래스명이다.
    -actions <actions>

    [동적 변경] Role에 부여된 Action 목록이다.

    Actions는 리스스에 대한 Action 목록이며, 각 Action은 공백으로 구분된다. 예를 들어 jeus.server resource의 경우 "boot", "down"과 같은 Action이 있다.

    -actions 파라미터를 설정한 경우 -classname으로 설정한 클래스에 두 번째 생성자 파라미터로 "actions"를 전달할 때 사용한다. 디폴트 클래스명은 jeus.security.resource.ResourcePermission이고, 이는 "resouce"와 "actions"를 생성자 파라미터로 차례로 받아 들인다.

    [-contextid <context-id>][동적 변경] Policy를 구분하는 컨텍스트 이름이다. contextid는 "default" 이외의 컨텍스트를 지정할 때 사용한다.
    [-classname <classname>]

    [동적 변경] Permission 클래스 이름이다.

    -classname으로 설정한 클래스는 java.security.Permission 추상 클래스를 확장한 Java 클래스여야 하며 최소한 하나의 String 타입의 "resource"를 받아 들이는 생성자를 가지고 있어야 한다.

    Resource Permission에 대한 자세한 정보는 jeus.security.resource.ResourcePermission 클래스를 참고한다. JEUS가 어떤 Resource Permission을 체크하는지에 관한 정보는 JEUS Security 안내서”의 “Appendix B. JEUS Server Permissions”을 참고한다.

    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.

  • 예제

    [DAS]domain1.adminServer> assign-resource deployRole jeus.* -actions deploy-applications
    The resource [jeus.*] is assigned to the role [deployRole].

4.2.14.7. assign-role

동적으로 특정 Role을 Principal에 할당한다. -classname으로 설정한 클래스는 java.security.Permission 추상 클래스를 확장한 Java 클래스여야 하며 최소한 하나의 String 타입의 "role"을 받아 들이는 생성자를 가지고 있어야 한다. 디폴트 클래스는 jeus.security.resource.RolePermission이다. 단, anonymous의 경우 해당 target role이 unchecked permission을 가지고 있을 경우에만 할당이 가능하다.

  • alias

    assignrole

  • 사용법

    assign-role <principal>
                <role-name>
                [-classname <classname>]
                [-domain <domain-name>]
                [-f,--forceLock]
  • 파라미터

    파라미터설명
    <principal-name>Principal 이름이다.
    <role-name>[동적 변경] Role 이름이다.
    [-classname <classname>][동적 변경] Permission 클래스 이름이다.
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
  • 예제

    [DAS]domain1.adminServer> assign-role user1 AdministratorsRole 
    The role [AdministratorsRole] is assigned to the principal [user1].

4.2.14.8. check-group-member

특정 그룹에 해당 사용자가 등록되었는지 여부를 조회한다.

  • alias

    checkgroupmember, ismember

  • 사용법

    check-group-member <group-name>
                      <user-name>
                      [-domain <domain-name>]
  • 파라미터

    파라미터설명
    <group-name>그룹 이름이다.
    <user-name>사용자 이름이다.
  • 예제

    [DAS]domain1.adminServer> check-group-member group1 user1
    The user [user1] is a member of the group [group1].

4.2.14.9. expire-user

특정 사용자에 만료시간을 설정한다.

"SubjectExpirationtValidationService"가 서버에 제대로 구성되어 있다면, 해당 사용자는 만료시간까지만 유효하며 만료시간 후 로그인 시도는 unexpire-user가 호출되기 전에 모두 실패로 끝난다. Subjcet validation은 JEUS Security 안내서”의 “5.4.1. SubjectValidationService SPI”를 참고한다.

  • alias

    expireuser, exuser

  • 사용법

    expire-user <user-name> 
              [-domain <domain-name>]
              [-year <year>]
              [-month <month>]
              [-day <day>]
              [-hour <hour>]
              [-minute <minute>]
  • 파라미터

    파라미터설명
    <user-name>사용자 이름이다.
    [-year <year>]만료시간의 '연도'이다. yyyy로 입력해야 한다. (기본값: 현재 시간의 연도)
    [-month <month>]만료시간의 '달/월'이다. MM으로 입력해야 한다. (기본값: 현재 시간의 달/월)
    [-day <day>]만료시간의 '날/일'이다. dd로 입력해야 한다. (기본값: 현재 시간의 날/일)
    [-hour <hour>]만료시간의 '시'이다. hh로 입력해야 한다. (기본값: 현재 시간의 시)
    [-minute <minute>]만료시간의 '분'이다. mm으로 입력해야 한다. (기본값: 현재 시간의 분)
  • 예제

    [DAS]domain1.adminServer> expire-user user1 -year 2020 -month 12 -day 31 -hour 12 -minute 30
    The user [user1] is valid only until [2020-12-31 12:30].

4.2.14.10. list-group-names

현재 도메인의 모든 그룹에 대한 목록을 조회한다.

  • alias

    listgroupnames, getgroupnames

  • 사용법

    list-group-names  [-domain <domain-name> ]
  • 예제

    [DAS]domain1.adminServer> list-group-names
    ================================================================================
    +------------------------------------------------------------------------------+
    |                                  Group Name                                  |
    +------------------------------------------------------------------------------+
    | Administrators                                                               |
    +------------------------------------------------------------------------------+
    | group1                                                                       |
    +------------------------------------------------------------------------------+
    ================================================================================

4.2.14.11. list-user-names

현재 도메인에 로그인된 모든 사용자 이름 목록과 각 사용자의 Lock 상태와 만료 상태를 조회한다.

  • alias

    listusernames, getusernames

  • 사용법

    list-user-names [-domain <domain-name>]
  • 예제

    [DAS]domain1.adminServer> list-user-names
    ============================================================
    +-----------+------------+---------------------------------+
    | User Name | Lock State |         ExpiryTime State        |
    +-----------+------------+---------------------------------+
    | jeus      | unlocked   | Unexpired                       |
    | admin     | locked     | 2020-01-01 12:00                       |
    +-----------+------------+---------------------------------+
    ============================================================

4.2.14.12. lock-user

동적으로 특정 사용자에 Lock을 설정한다. "SubjectLockoutValidationService"가 서버에 제대로 구성되어 있다면, 해당 사용자에 대한 모든 로그인 시도는 "unlock-user"가 호출되기 전에 모두 실패로 끝난다.

Subjcet validation은 JEUS Security 안내서”의 “5.4.1. SubjectValidationService SPI”를 참고한다.

  • alias

    lockuser

  • 사용법

    lock-user <user-name> 
              [-domain <domain-name>]
  • 파라미터

    파라미터설명
    <user-name>사용자 이름이다.
  • 예제

    [DAS]domain1.adminServer> lock-user user2
    The user [user2] has been locked out.

4.2.14.13. modify-default-password-validator

동적으로 Default Password Validator 설정을 추가, 변경 또는 삭제한다. Password Validation은 JEUS Security 안내서”의 “2.5.4. 패스워드 보안 설정”을 참고한다.

  • alias

    modify-password-validator

  • 사용법

    modify-default-password-validator [-disable]
              [-min <min-length>]
              [-max <max-length>]
              [-special <is-special-character-included>]
              [-digit <is-digit-character-included>]
              [-capital <is-capital-character-included>]
              [-small <is-small-character-included>]
              [-excludeID <is-user-id-excluded>]
  • 파라미터

    파라미터설명
    [-disable][동적 변경] Default Password Validator를 사용 안함으로 설정하고 기존 설정 값들을 모두 삭제한다.
    [-min <min-length>]

    [동적 변경] 패스워드의 최소 자릿수를 설정한다.

    (범위: 1 ~ 255, 기본값: 1)

    [-max <max-length>]

    [동적 변경] 패스워드의 최대 자릿수를 설정한다.

    (범위: 1 ~ 255, 기본값: 255)

    [-special <is-special-character-included>][동적 변경] 패스워드에 반드시 특수문자가 들어가도록 할지 설정한다. (기본값: false)
    [-digit <is-digit-character-included>]

    [동적 변경] 패스워드에 반드시 숫자가 들어가도록 할지 설정한다.

    (기본값: false)

    [-capital <is-capital-character-included>]

    [동적 변경] 패스워드에 반드시 대문자가 들어가도록 할지 설정한다.

    (기본값: false)

    [-small <is-small-character-included>]

    [동적 변경] 패스워드에 반드시 소문자가 들어가도록 할지 설정한다.

    (기본값: false)

    [-excludeID <is-user-id-excluded>][동적 변경] 패스워드에 사용자의 ID가 들어가지 못하도록 할지 설정한다. (기본값: false)
  • 예제

    [DAS]domain1.adminServer> modify-default-password-validator -min 4 -special true
    Default password validator is updated successfully.
    Check the results using "show-default-password-validator or modify-default-password-validator".

4.2.14.14. remove-custom-password-validator

Custom Password Validator에 등록된 클래스를 삭제한다. Password Validation은 JEUS Security 안내서”의 “2.5.4. 패스워드 보안 설정”을 참고한다.

  • alias

    remove-custom-validator

  • 사용법

    remove-custom-password-validator [-class <class-name> ]
  • 파라미터

    파라미터설명
    <class-name>사용자가 DOMAIN_HOME/lib/application에 jar 파일 형태로 넣고 add-custom-password-validator 명령어로 Custom Password Validator에 등록한 클래스의 이름이다.
  • 예제

    [DAS]domain1.adminServer> remove-custom-password-validator -class MyValidator
    Custom password validator [MyValidator] is removed successfully.
    Check the results using show-custom-password-validator.

4.2.14.15. remove-group

동적으로 현재 도메인에서 이미 존재하고 있는 그룹을 삭제한다. 그룹에 속한 사용자가 존재하지 않을 경우에만 삭제 가능하다.

  • alias

    removegroup

  • 사용법

    remove-group <group-name>
                [-domain <domain-name>]
                [-f,--forceLock]
  • 파라미터

    파라미터설명
    <group-name>그룹 이름이다.
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
  • 예제

    [DAS]domain1.adminServer> remove-group group1
    The group [group1] has been successfully removed.

4.2.14.16. remove-user

동적으로 현재 도메인에서 이미 존재하고 있는 사용자를 삭제한다.

  • alias

    removeuser

  • 사용법

    remove-user <user-name> 
               [-domain <domain-name>]
               [-f,--forceLock]
  • 파라미터

    파라미터설명
    <user-name>사용자 이름이다.
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
  • 예제

    [DAS]domain1.adminServer> remove-user user1
    The user [user1] has been successfully removed.

4.2.14.17. remove-user-from-group

동적으로 현재 도메인에서 존재하는 특정 그룹의 특정 사용자 멤버를 삭제한다.

  • alias

    removeuserfromgroup

  • 사용법

    remove-user-from-group <group-name>
                           <user-name>    
                           [-domain <domain-name>]
                           [-f,--forceLock]
  • 파라미터

    파라미터설명
    <group-name>그룹 이름이다.
    <user-name>사용자 이름이다.
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
  • 예제

    [DAS]domain1.adminServer> remove-user-from-group group1 user1
    The user [user1] has been successfully removed from the group [group1].

4.2.14.18. set-password

동적으로 주어진 사용자에 대한 패스워드를 설정한다. 패스워드는 어떤 암호화나 인코딩 없는 일반 문자로 설정해야 한다. - algorithm 옵션을 통해 패스워드를 암호화할 수 있다. 설정 후에는 새 패스워드로 다시 로그인하여야 한다.

주의

이 명령어는 해당 사용자에 이전에 설정되었던 모든 패스워드를 삭제한다.

  • alias

    setpassword

  • 사용법

    set-password <user-name>
            <password>
              [-algorithm <algorithm>]
              [-domain <domain-name>] 
              [-f,--forceLock]
  • 파라미터

    파라미터설명
    <user-name>사용자 이름이다.
    <password>[동적 변경] 사용자 패스워드이다.
    [-algorithm <algorithm>]

    [동적 변경] 패스워드 암호화에 사용할 알고리즘의 이름이다.

    다음의 알고리즘을 선택할 수 있다.

    • AES

    • DES

    • DESede

    • Blowfish

    • SEED

    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
  • 예제

    [DAS]domain1.adminServer> set-password user1 pass1 -algorithm AES
              The password is set for [user1].

4.2.14.19. show-custom-password-validator

현재의 Default Password Validator 설정을 조회한다. Password Validation은 JEUS Security 안내서”의 “2.5.4. 패스워드 보안 설정”을 참고한다.

  • alias

    show-custom-validator

  • 사용법

    show-custom-password-validator
  • 예제

    [DAS]domain1.adminServer> show-custom-password-validator
    ================================================================================
    +------------------------------------------------------------------------------+
    |                     custom password validator class names                    |
    +------------------------------------------------------------------------------+
    | MyValidator                                                                  |
    +------------------------------------------------------------------------------+
    ================================================================================

4.2.14.20. show-default-password-validator

현재의 Default Password Validator 설정을 조회한다. Password Validation은 JEUS Security 안내서”의 “2.5.4. 패스워드 보안 설정”을 참고한다.

  • alias

    show-password-validator

  • 사용법

    show-default-password-validator
  • 예제

    [DAS]domain1.adminServer> show-default-password-validator
    ================================================================================
    +----------------------------------------------------------------------+-------+
    |                               property                               | value |
    +----------------------------------------------------------------------+-------+
    | min length                                                           |     4 |
    | max length                                                           |   255 |
    | include special characters                                           | true  |
    | include digit characters                                             | false |
    | include capital characters                                           | false |
    | include small characters                                             | false |
    | exclude user id                                                      | false |
    +----------------------------------------------------------------------+-------+
    ================================================================================

4.2.14.21. show-subject-validation

현재의 Subject Validation Service 설정을 조회한다. Subject Validation은 JEUS Security 안내서”의 절 2.4.1. “[Subject Validation]”을 참고한다.

  • alias

    ssv

  • 사용법

    show-subject-validation
  • 예제

    [DAS]domain1.adminServer> show-subject-validation
    ================================================================================
    +--------------------------+---------------------------------------------------+
    |           Type           |                     Class name                    |
    +--------------------------+---------------------------------------------------+
    | DefaultSubjectValidation | jeus.security.impl.expiration.SubjectExpirationVa |
    |                          |lidationService                                    |
    +--------------------------+---------------------------------------------------+
    | DefaultSubjectValidation | jeus.security.impl.lockout.SubjectLockoutValidati |
    |                          |onService                                          |
    +--------------------------+---------------------------------------------------+
    ================================================================================

4.2.14.22. show-group

주어진 특정 그룹에 대한 자세한 정보를 조회한다.

  • alias

    showgroup, getgroup

  • 사용법

    show-group <group-name>
              [-domain <domain-name>]
  • 파라미터

    파라미터설명
    <group-name>그룹 이름이다.
  • 예제

    [DAS]domain1.adminServer> show-group Administrators
    Administrators(members:Principal admin,Principal user1)

4.2.14.23. show-policy

특정 Context ID를 포함하고 있는 Policy를 조회한다. 만약 context-id가 설정되지 않았다면, "default"로 설정된다.

  • alias

    showpolicy, getpolicy

  • 사용법

    show-policy [-contextid <context-id>] 
                [-domain <domain-name>]
  • 파라미터

    파라미터설명
    [-contextid <context-id>]Policy를 구분하는 컨텍스트 이름이다.
  • 예제

    [DAS]domain1.adminServer> show-policy
    ______________POLICY_______________
    ROLE PERMISSIONS:
      PERMISSION MAP
      --------------
      Excluded permissions:
        (none)
      Unchecked permissions:
        (jeus.security.resource.RolePermission jndiUser)
    
      Checked permissions:
        Permission owner:
        Principal user1
        Permissions of owner:
        (jeus.security.resource.RolePermission AdministratorsRole)
    
        Permission owner:
        Principal anonymous
        Permissions of owner:
        (jeus.security.resource.RolePermission jndiUser)
    
    RESOURCE PERMISSIONS:
    Context id: default
      PERMISSION MAP
      --------------
      Excluded permissions:
        (none)
      Unchecked permissions:
        (none)
    
      Checked permissions:
        Permission owner:
        Role jndiUser
        Permissions of owner:
        (jeus.security.resource.ResourcePermission jeus.jndi.* lookup)
    
        Permission owner:
        Role AdministratorsRole
        Permissions of owner:
        (jeus.security.resource.ResourcePermission jeus.* *)
    

4.2.14.24. show-user

주어진 사용자에 대한 자세한 정보를 조회한다.

  • alias

    showuser, getuser

  • 사용법

    show-user <user-name>
             [-domain <domain-name>]
  • 파라미터

    파라미터설명
    <user-name>사용자 이름이다.
  • 예제

    [DAS]domain1.adminServer> show-user user1
    [SUBJECT]
    Description: No description
    Domain: SYSTEM_DOMAIN
    Main principal: Principal user1
    Principals: [Principal user1,Administrators(members:Principal admin,Principal user1)]
    Public credentials: []

4.2.14.25. unassign-role

동적으로 Principal에 할당된 특정 Role을 삭제한다.

  • alias

    unassignrole

  • 사용법

    unassign-role <principal>
                  <role-name>
                  [-domain <domain-name>]
                  [-f,--forceLock]
  • 파라미터

    파라미터설명
    <principal>Principal 이름이다.
    <role-name>[동적 변경] Role 이름이다.
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
  • 예제

    [DAS]domain1.adminServer> unassignrole jeus jndiuser
    The role [jndiuser] has been successfully unassigned from the principal [jeus].

4.2.14.26. unassign-resource

동적으로 Role로부터 리소스를 삭제할 때 사용한다. Role은 더 이상 해당 리소스에 접근이 불가능하다.

  • alias

    unassignresource, usassignres

  • 사용법

    unassign-resource <role-name>
                      <resource-name>
                      -actions <actions>
                      [-contextid <context-id>]
                      [-domain <domain-name>]
                      [-f,--forceLock]
  • 파라미터

    파라미터설명
    <role-name>Role 이름이다.
    <resource-name>[동적 변경] 리소스 이름이다.
    -actions <actions>[동적 변경] Role에 부여된 action 목록이다.
    [-contextid <context-id>][동적 변경] Policy를 구분하는 컨텍스트 이름이다.
    [-f,--forceLock]설정 변경을 강제로 진행하여 반영한다.
  • 예제

    [DAS]domain1.adminServer> unassign-resource deployRole jeus.* -actions deploy-applications
    The resource [jeus.*] has been successfully unassigned from the role [deployRole].

4.2.14.27. unexpire-user

expire-user로 설정했던 ExpiryTime을 해제한다.

  • alias

    unexpireuser, unexuser

  • 사용법

    unexpire-user <user-name>
               [-domain <domain-name>]
  • 파라미터

    파라미터설명
    <user-name>사용자 이름이다.
  • 예제

    [DAS]domain1.adminServer> unexpire-user user2
    The expiry time for user [user2] is canceled.

4.2.14.28. unlock-user

동적으로 lock-user로 설정했던 Lock을 해제한다.

  • alias

    unlockuser

  • 사용법

    unlock-user <user-name>
               [-domain <domain-name>]
  • 파라미터

    파라미터설명
    <user-name>사용자 이름이다.
  • 예제

    [DAS]domain1.adminServer> unlock-user user2
    The user [user2] has been successfully unlocked.

4.2.15. 노드 관리 관련 명령어

본 절에서는 노드 관리와 관련된 명령어에 대해 설명한다. 노드는 하나의 머신에 존재하는 하나의 JEUS 설치본을 의미한다. DAS의 원격 서버 관리를 위한 기능으로 DAS에 접속했을 때만 명령어 사용이 가능하다. 노드에 대한 자세한 설명은 "JEUS Node Manager 안내서"를 참고한다.

노드 관리 관련 명령어의 목록은 다음과 같다.

명령어설명
add-java-node동적으로 Java 노드를 추가한다.
add-ssh-node동적으로 SSH 노드를 추가한다.
apply-patch해당 노드에 패치를 적용한다.
check-jeus-installed해당 노드에 JEUS가 설치되어 있는지 확인한다.
check-ssh-node해당 SSH 노드의 SSH 설정이 제대로 동작하는지 확인한다.
install-jeus해당 노드에 현재 도메인 구성을 포함하여 JEUS를 설치한다.
list-nodes노드의 목록을 확인한다.
modify-java-node저장된 Java 노드를 수정한다.
modify-node저장된 노드를 수정한다.
modify-ssh-node저장된 SSH 노드를 수정한다.
patch-info해당 노드에 적용된 패치정보를 확인한다.
remove-node저장된 노드를 삭제한다.
remove-patch해당 노드에 적용된 패치를 삭제한다.
show-node해당 노드의 설정을 확인한다.
uninstall-jeus해당 노드에서 JEUS를 삭제한다.

4.2.15.1. add-java-node

동적으로 새로운 Java 노드를 추가한다. 각 옵션에 대해 알맞는 값을 입력하여 노드에 설정된 Java NodeManager 접속에 문제가 없도록 한다.

  • alias

    addjavanode

  • 사용법

    add-java-node <node-name>
                  -host <host-name>
                  [-port <port-number>]
                  [-ssl]
                  [-truststore <truststore-path>]
                  [-truststorepassword <truststore-password>]
  • 파라미터

    파라미터설명
    <node-name>추가할 노드의 이름이다. ID로 사용되는 값이므로 유일해야 한다.
    -host <host-name>해당 노드의 노드 매니저에서 사용할 호스트 주소이다.
    [-port <port-number>]해당 노드의 노드 매니저에서 사용할 포트 번호이다. (기본값: 7730)
    [-ssl]SSL을 사용할 지 여부를 설정한다.
    [-truststore <truststore-path>]Truststore file의 경로를 설정한다.
    [-truststorepassword <truststore-password>]Truststore file의 password를 설정한다.
  • 예제

    [DAS]domain1.adminServer> add-java-node node1 -host 192.168.34.55 -port 7730
    The node [node1] was successfully added.

4.2.15.2. add-ssh-node

동적으로 새로운 SSH 노드를 추가한다. 각 옵션에 대해 알맞는 값을 입력하여 SSH 접속에 문제가 없도록 한다. SSH 접속 가능 여부는 check-ssh-node 명령어를 통해 가능하며, 생성된 SSH 노드는 modify-ssh-node를 통해 수정 가능하다.

  • alias

    addsshnode

  • 사용법

    add-ssh-node <node-name> 
                 -host <host-name>  
                 [-dir <install-dir>]
                 [-port <port-number>] 
                 [-user <user-name>] 
                 [-privatekey <file-path>]
  • 파라미터

    파라미터설명
    <node-name>추가할 원격 노드의 이름이다. ID로 사용되는 값이므로 유일해야 한다.
    -host <host-name>해당 원격 노드의 호스트 주소이다.
    [-dir <install-dir>]해당 원격 노드의 JEUS 설치 디렉터리이다.
    [-port <port-number>]SSH 접속 포트 번호이다. (기본값: 22)
    [-user <user-name>]SSH 접속 사용자명이다.
    [-privatekey <file-path>]SSH 접속을 위한 개인키 파일 경로이다.
  • 예제

    [DAS]domain1.adminServer> add-ssh-node node1 -host 192.168.34.55 -dir /home/sshUser/jeus -user sshUser
    The node [node1] was successfully added.

4.2.15.3. apply-patch

설정한 노드에 패치 파일을 적용한다.

  • alias

    applypatch

  • 사용법

    apply-patch [<file-name>]
                [-nodes <node-name>]
                [-rolling]
                [-nodas]
                [-action <action-on-error>]
  • 파라미터

    파라미터설명
    [<file-name>]적용할 패치 파일을 설정한다. 설정하지 않은 경우 JEUS_HOME/lib/jext 디렉터리 전체를 전송한다.
    [-nodes <node-name>]패치를 적용할 노드 리스트를 설정한다. 설정하지 않은 경우 모든 도메인 내에 존재하는 노드에 적용한다.
    [-rolling]패치 파일 전송 후 서버를 재기동해 적용할지 여부를 설정한다.
    [-nodas]DAS에는 패치를 적용, 삭제하지 않는다.
    [-action <action-on-error>]

    패치 파일 적용에 실패하는 경우 액션에 대해 설정한다.

    다음 중에 하나를 설정한다.

    • CONTINUE

    • ROLLBACK

    • STOP

  • 예제

    [DAS]domain1.adminServer>apply-patch -nodes node2 jext.jar 
    The patch was successfully applied to the nodes [node1].

4.2.15.4. check-jeus-installed

특정 노드에 JEUS가 설치되었는지를 확인한다. 결과값으로 해당 노드의 JEUS 버전 정보가 나온다.

  • alias

    checkjeusinstalled, isjeusinstalled

  • 사용법

    check-jeus-installed <node-name>
  • 파라미터

    파라미터설명
    <node-name>노드의 이름이다.
  • 예제

    [DAS]domain1.adminServer> check-jeus-installed node1 
    The JEUS version on the node [node1]: JEUS 8

4.2.15.5. check-ssh-node

특정 SSH 노드에 Java 명령어를 수행해서 SSH 설정이 제대로 되어있는지 확인한다.

  • alias

    checksshnode, checknode

  • 사용법

    check-ssh-node <node-name>
  • 파라미터

    파라미터설명
    <node-name>노드의 이름이다.
  • 예제

    [DAS]domain1.adminServer> check-ssh-node node1
    The Domain Administration Server can execute the "java" process via SSH. 

4.2.15.6. install-jeus

특정 노드에 현재 도메인의 설정을 포함하여 JEUS를 설치한다. 파일 압축 및 복사 작업이 이루어지므로 환경에 따라 시간이 오래 필요할 수 있다.

  • alias

    installjeus

  • 사용법

    install-jeus <node-name>
  • 파라미터

    파라미터설명
    <node-name>노드의 이름이다.
  • 예제

    [DAS]domain1.adminServer> install-jeus node1 
    JEUS was successfully installed on the node [node1].

4.2.15.7. list-nodes

현재 구성되어 있는 노드의 목록을 조회한다. 노드의 이름, 종류, 제어 가능 여부, JEUS 설치 버전이 결과값으로 출력된다.

  • alias

    listnodes, nodelist

  • 사용법

    list-nodes [-onlyname]    
  • 파라미터

    파라미터설명
    [-onlyname]노드의 이름만을 나열하여 조회한다.
  • 예제

    [DAS]domain1.adminServer> list-nodes
    ========================================================================
    +-------------+-----+---------------------+----------------------------+
    |  Node name  | Type|    Under control    |        JEUS version        |
    +-------------+-----+---------------------+----------------------------+
    | node1       | SSH | Y                   | -                          |
    | node2       | SSH | Y                   | JEUS 8                     |
    | node3       | JAVA| N                   | -                          |
    +-------------+-----+---------------------+----------------------------+
    ========================================================================
    

4.2.15.8. modify-java-node

특정 Java 노드의 설정을 변경한다.

  • alias

    modifyjavanode

  • 사용법

    modify-java-node <node-name>
                    [-host <host-name>]
                    [-port <port-number>]
                    [-ssl <enable-SSL>]
                    [-truststore <truststore-path>]
                    [-truststorepassword <truststore-password>]
  • 파라미터

    파라미터설명
    <node-name>노드의 이름이다.
    [-host <host-name>]해당 노드의 노드 매니저에서 사용할 호스트 주소이다.
    [-port <port-number>]해당 노드의 노드 매니저에서 사용할 포트 번호이다. (기본값: 7736)
    [-ssl <enable-SSL>]SSL을 사용할지 여부를 설정한다.
    [-truststore <truststore-path>]Truststore file의 경로를 설정한다.
    [-truststorepassword <truststore-password>]Truststore file의 password를 설정한다.
  • 예제

    [DAS]domain1.adminServer> modify-java-node node1 -port 7731
    The node [node1] was modified successfully. Check the results using "show-node"

4.2.15.9. modify-node

특정 노드의 설정을 변경한다. 노드 매니저 타입을 변경할 수 있다.

  • alias

    modifyjavanode

  • 사용법

    modify-node <node-name>
                    [-type <node-type>]
                    [-host <host-name>]
                    [-port <port-number>]
                    [-ssl]
                    [-truststore <truststore-path>]
                    [-truststorepassword <truststore-password>]
                    [-dir <install-dir>]
                    [-user <user-name>]
                    [-privatekey <file-path>]
  • 파라미터

    파라미터설명
    <node-name>노드의 이름이다.
    [-type <host-name>]해당 노드의 타입을 변경한다. java 또는 ssh 중 하나의 값을 입력할 수 있다.
    [-host <host-name>]해당 노드의 노드 매니저에서 사용할 호스트 주소이다.
    [-port <port-number>]

    해당 노드의 노드 매니저에서 사용할 포트 번호이다.

    (기본값: JAVA 타입의 경우 7730, SSH 타입의 경우 22)

    [-ssl]SSL을 사용할지 여부를 설정한다.
    [-truststore <truststore-path>]Truststore file의 경로를 설정한다.
    [-truststorepassword <truststore-password>]Truststore file의 password를 설정한다.
    [-dir <install-dir>]해당 노드에 JEUS가 설치된 경로를 설정한다.
    [-user <user-name>]SSH 접속 사용자명이다.
    [-privatekey <file-path>]SSH 접속을 위한 개인키 파일 경로이다.
  • 예제

    [DAS]domain1.adminServer> modify-node node1 -type ssh -port 23
    The node [node1] was modified successfully. Check the results using "show-node"

4.2.15.10. modify-ssh-node

특정 SSH 노드의 설정을 변경한다.

  • alias

    modifysshnode, modifynode

  • 사용법

    modify-ssh-node <node-name>
                   [-host <host-name>] 
                   [-dir <install-dir>]
                   [-port <port-number>] 
                   [-user <user-name>] 
                   [-privatekey <file-path>]
  • 파라미터

    파라미터설명
    <node-name>노드의 이름이다.
    [-host <host-name>]해당 원격 노드의 호스트 주소이다.
    [-dir <install-dir>]해당 원격 노드의 JEUS 설치 디렉터리이다.
    [-port <port-number>]SSH 접속 포트 번호이다. (기본값: 22)
    [-user <user-name>]SSH 접속 사용자명이다.
    [-privatekey <file-path>]SSH 접속을 위한 개인키 파일 경로이다.
  • 예제

    [DAS]domain1.adminServer> modify-ssh-node node1 -port 23
    The node [node1] was modified successfully. Check the results using "show-node"

4.2.15.11. patch-info

노드에 적용된 패치를 확인한다.

  • alias

    patchinfo, patch-list, patchlist, list-patch, listpatch

  • 사용법

    patch-info [<node-names>]
  • 파라미터

    파라미터설명
    [<node-names>]노드의 이름이다. 노드가 한 개 이상인 경우는 콤마(,)로 구분한다.
  • 예제

    [DAS]domain1.adminServer>patch-info
    Successfully got patch information for the nodes.
    ==========================================================
    Node Name[node1]
    
    +---------------------------------------+----------------+
    |            Patch File Name            | Patch Contents |
    +---------------------------------------+----------------+
    (No data available)
    
    Unable to get patch information to SSH NodeManager
    ==========================================================
    
    ===============================================================
    Node Name[node2]
    
    +--------------------------------------------+----------------+
    |               Patch File Name              | Patch Contents |
    +--------------------------------------------+----------------+
    | jext_patch_test.jar                        | patch test     |
    +--------------------------------------------+----------------+
    ===============================================================

4.2.15.12. remove-node

특정 노드를 삭제한다.

  • alias

    removenode, rmnode, rm-node

  • 사용법

    remove-node <node-name>
  • 파라미터

    파라미터설명
    <node-name>노드의 이름이다.
  • 예제

    [DAS]domain1.adminServer>remove-node node1
    The node [node1] was successfully removed.

4.2.15.13. remove-patch

설정한 노드에 적용된 패치 파일을 삭제한다.

  • alias

    removepatch, rmpatch, rm-patch

  • 사용법

    remove-patch [<file-name>]
                 [-nodes <node-name>]
                 [-rolling]
                 [-nodas]
                 [-action <action-on-error>]
  • 파라미터

    파라미터설명
    [<file-name>]삭제할 패치 파일을 설정한다. 설정하지 않은 경우 JEUS_HOME/lib/jext 디렉터리 전체를 삭제한다.
    [-nodes <node-name>]패치를 삭제할 노드 리스트를 설정한다. 설정하지 않은 경우 모든 도메인 내에 존재하는 노드에서 삭제한다.
    [-rolling]패치 파일 삭제 후 서버를 재기동할 때 삭제 내용을 적용할지 여부를 설정한다.
    [-nodas]DAS는 재기동하지 않는다.
    [-action <action-on-error>]

    패치 파일가 삭제 실패하는 경우의 액션에 대해 설정한다.

    다음 중에 하나를 설정한다.

    • CONTINUE

    • STOP

    • ROLLBACK

  • 예제

    [DAS]domain1.adminServer>remove-patch -nodes node2 jext.jar
    The nodes [node2] have successfully removed patch file.

4.2.15.14. show-node

특정 노드의 정보를 조회한다. 노드의 기본 정보 외에 해당 노드에 매핑된 서버의 정보도 조회한다.

기본 SSH 노드 정보는 modify-ssh-node 명령어를 통해 변경 가능하다. 매핑된 서버의 정보는 modify-server 명령어를 통해 변경 가능하다.

  • alias

    shownode, nodeinfo

  • 사용법

    show-node <node-name>
  • 파라미터

    파라미터설명
    <node-name>노드의 이름이다.
  • 예제

    [DAS]domain1.adminServer> show-node node1
    ================================================================================
    +------------------+-----------------------------------------------------------+
    |     Property     |                           Value                           |
    +------------------+-----------------------------------------------------------+
    | Node Name        | node1                                                     |
    | Host             | 192.168.34.55                                             |
    | Mapped Servers   | adminServer server1                                       |
    | Node Type        | JAVA                                                      |
    | NodeManager Port |                                                      7730 |
    | Use SSL          | false                                                     |
    +------------------+-----------------------------------------------------------+
    ================================================================================
    

4.2.15.15. uninstall-jeus

특정 노드에 설치된 JEUS를 삭제한다.

  • alias

    uninstalljeus

  • 사용법

    uninstall-jeus <node-name>
  • 파라미터

    파라미터설명
    <node-name>노드의 이름이다.
  • 예제

    [DAS]domain1.adminServer> uninstall-jeus node1
    JEUS was successfully uninstalled from the node [node1].

4.2.16. 노드 매니저 관련 명령어

본 절에서는 노드 매니저에 접속해서 사용할 수 있는 명령어에 대해 설명한다. 노드는 하나의 머신에 존재하는 하나의 JEUS 설치본을 의미한다. Java 타입의 노드 매니저에 접속해서 서버를 시작시키거나 상태를 확인할 수 있다. Java 타입의 노드 매니저에 대한 자세한 설명은 "JEUS Node Manager 안내서"를 참고한다.

노드 관리 관련 명령어의 목록은 다음과 같다.

명령어설명
connect-nodemanager노드 매니저에 접속한다.
disconnect-nodemanager노드 매니저와 접속을 끊는다. 노드 매니저와 접속한 상태에서만 사용 가능한 명령어이다.
nm-start-server노드 매니저를 통해 서버를 시작한다. 노드 매니저와 접속한 상태에서만 사용 가능한 명령어이다.
nm-state-server노드 매니저를 통해 기동한 서버의 상태를 확인한다. 노드 매니저와 접속한 상태에서만 사용 가능한 명령어이다.
nm-stop-server노드 매니저를 통해 시작한 서버를 종료한다. 노드 매니저와 접속한 상태에서만 사용 가능한 명령어이다.
stop-nodemanager노드 매니저를 종료한다. 노드 매니저와 접속한 상태에서만 사용 가능한 명령어이다.

4.2.16.1. connect-nodemanager

노드 매니저에 접속한다.

  • alias

    connect-nm, connectnm, nm-connect, nmconnect

  • 사용법

    connect-nodemanager [-domain <domain-name>]
                        [-h,--host <host-address>]
                        [-p,--port <port>]
                        [-t,--type <connect-type>]
                        [-ts,--truststoreFile <truststore-file>]
                        [-tsp,--truststorePass <truststore-password>]
  • 파라미터

    파라미터설명
    [-domain <domain-name>]노드 매니저에서 다룰 도메인 이름이다.
    [-h,--host <host-address>]접속하려고 하는 노드 매니저의 호스트 주소이다.
    [-p,--port <port>]접속하려고 하는 노드 매니저의 포트 번호이다.
    [-t,--type <connect-type>]

    노드 매니저에 접속할 때 SSL을 사용할지 여부를 설정한다.

    다음 중에 하나를 설정한다.

    • ssl

    • plain(기본값)

    [-ts,--truststoreFile <truststore-file>]SSL을 사용할 때 Truststore file 경로를 설정한다.
    [-tsp,--truststorePass <truststore-password>]SSL을 사용할 때 Truststore file의 password를 설정한다.
  • 예제

    offline>connect-nodemanager -host 192.168.34.55 -port 7730 -domain domain1
    The connection to the node manager domain1 has been established.
  • 참고

    본 명령어는 서버에 접속하지 않은 상태에서도 사용할 수 있다.

4.2.16.2. disconnect-nodemanager

노드 매니저와 접속을 끊는다.

  • alias

    disconnect-nm, disconnectnm, disconnm, nm-disconnect, nmdisconnect

  • 사용법

    disconnect-nodemanager
  • 예제

    [NodeManager]domain1>disconnect-nodemanager
    disconnect to node manager.
  • 참고

    본 명령어는 서버에 접속하지 않은 상태에서도 사용할 수 있다.

4.2.16.3. nm-start-server

노드 매니저를 통해 서버를 시작한다.

  • alias

    nmstart, nmstartserver

  • 사용법

    nm-start-server [-domain <domain-name>]
                    -server <server-name>
                    -u,--user <user-name>
                    -p,--password <password>
                    [-dasurl <dasurl>]
                    [-f,--force]
                    [-s,--standby]
                    [-host <nm-host>]
                    [-port <nm-port>]
                    [-t,--type <connect-type>]
                    [-ts,--truststoreFile <truststore-file>]
                    [-tsp,--truststorePass <truststore-password>]
  • 파라미터

    파라미터설명
    [-domain <domain-name>]시작시킬 서버가 속한 도메인 이름이다.
    -server <server-name>시작시킬 서버의 이름이다.
    -u,--user <user-name>서버를 기동할 때 필요한 계정정보이다.
    -p,--password <password>서버를 기동할 때 필요한 계정의 password이다.
    [-dasurl <dasurl>]MS를 시작시킬 때 필요한 DAS의 URL정보이다.
    [-f, --force]MS를 시작시킬 때 애플리케이션 디플로이가 실패하더라도 RUNNING으로 만들기 위한 설정이다.
    [-s, --standby]MS를 시작시킬 때 STANDBY 상태까지만 만들기 위한 설정이다.
    [-host <nm-host>]노드 매니저에 접속이 되지 않은 상태라면 노드 매니저의 호스트 정보를 옵션으로 주어 노드 매니저에 접속한 후 서버를 시작시킬 수 있다.
    [-port <nm-port>]노드 매니저에 접속이 되지 않은 상태라면 노드 매니저의 포트 정보를 옵션으로 주어 노드 매니저에 접속한 후 서버를 시작시킬 수 있다.
    [-t --type <connect-type>]

    노드 매니저에 접속할 때 SSL을 사용할지 여부를 설정한다.

    다음 중에 하나를 설정한다.

    • ssl

    • plain(기본값)

    [-ts,--truststoreFile <truststore-file>]SSL을 사용할 때 Truststore file 경로를 설정한다.
    [-tsp,--truststorePass <truststore-password>]SSL을 사용할 때 Truststore file의 password를 설정한다.
  • 예제

    [NodeManager]domain1>nm-start-server -server server1 -u jeus -p jeus
    succeed to start server[server1].
      RUNNING
  • 참고

    본 명령어는 서버에 접속하지 않은 상태에서도 사용할 수 있다.

4.2.16.4. nm-state-server

노드 매니저를 통해 시작한 서버의 상태를 확인한다.

  • alias

    nmstate-server, nmstateserver

  • 사용법

    nm-state-server [-domain <domain-name>]
                    -server <server-name>
                    -u,--user <user-name>
                    -p,--password <password>
  • 파라미터

    파라미터설명
    [-domain <domain-name>]상태를 알려고 하는 서버가 속한 도메인 이름이다.
    -server <server-name>상태를 알려고 하는 서버의 이름이다.
    -u,--user <user-name>서버의 상태를 알기 위해 서버에 접속하는 경우 계정 정보이다.
    -p,--password <password>서버의 상태를 알기 위해 서버에 접속하는 경우 계정의 password이다.
  • 예제

    [NodeManager]domain1>nm-state-server -server server1 -u jeus -p jeus
    server[server1] : RUNNING
  • 참고

    본 명령어는 서버에 접속하지 않은 상태에서도 사용할 수 있다.

4.2.16.5. nm-stop-server

노드 매니저를 통해 시작한 서버의 상태를 확인한다.

  • alias

    nmstop-server, nmstopserver

  • 사용법

    nm-stop-server [-domain <domain-name>]
                   -server <server-name>
                   -u,--user <user-name>
                   -p,--password <password>
  • 파라미터

    파라미터설명
    [-domain <domain-name>]down시킬 서버가 속한 도메인 이름이다.
    -server <server-name>down시킬 서버의 이름이다.
    -u,--user <user-name>서버를 down시키기 위해 서버에 접속하는 경우 계정 정보이다.
    -p,--password <password>서버를 down시키기 위해 서버에 접속하는 경우 계정의 password이다.
  • 예제

    [NodeManager]domain1>nm-stop-server -server server1 -u jeus -p jeus
    succeed to stop server[server1].
  • 참고

    본 명령어는 서버에 접속하지 않은 상태에서도 사용할 수 있다.

4.2.16.6. stop-nodemanager

노드 매니저를 종료한다.

  • alias

    stop-nm, stopnm, nm-stop, nmstop

  • 사용법

    stop-nodemanager [-host <host-address>]
                     [-port <port>]
                     [-p --properties <properties-file>]
                     [-t, --type <connect-type>]
                     [-ts, --truststoreFile <truststore-file>]
                     [-tsp, --truststorePass <truststore-password>]
                     [-stopServer]
                     [-verbose]
  • 파라미터

    파라미터설명
    [-host <host-address>]종료하려고 하는 노드 매니저의 호스트 정보이다.
    [-port <port>]종료하려고 하는 노드 매니저의 포트 정보이다.
    [-p --properties <properties-file>]커맨드 실행에 필요한 설정값들을 담은 파일을 설정한다.
    [-t,--type <connect-type>]

    노드 매니저에 접속할 때 SSL을 사용할지 여부를 설정한다.

    다음 중에 하나를 설정한다.

    • ssl

    • plain(기본값)

    [-ts,--truststoreFile <truststore-file>]SSL을 사용할 때 Truststore file 경로를 설정한다.
    [-tsp,--truststorePass <truststore-password>]SSL을 사용할 때 Truststore file의 password를 설정한다.
    [-stopServer]노드 매니저가 관리하고 있는 서버도 같이 종료하도록 한다.
    [-verbose]실행 결과를 상세하게 출력한다.
  • 예제

    [NodeManager]domain1>stop-nodemanager
    Succeed to stop the node manager.
  • 참고

    본 명령어는 서버에 접속하지 않은 상태에서도 사용할 수 있다.

4.2.17. 설정 편집 명령어

본 절에서는 JEUS의 설정을 편집하는 명령어들에 대해 설명한다. 이 명령어들을 사용하면 콘솔을 통해 JEUS의 동적 설정 변경 기능을 이용할 수 있다.

참고

동적 설정 변경 기능에 대한 기본적인 사항은 JEUS Domain 안내서”의 “제3장 도메인 설정변경”을 참고한다.

다음은 개별 명령어를 설명하기 전에 먼저 알아두어야 할 사항들에 대한 설명이다.

  • 설정 편집 명령어로 편집하는 JEUS 설정에 대해

    설정 편집 명령어를 사용해서 편집하는 대상은 JEUS 서버가 설정을 저장하기 위해 사용하는 java 객체로, 이 객체는 JEUS 설정을 표현하는 domain.xml을 정의한 XML schema를 JAXB를 사용하여 자바 객체 형태로 변환한 것이다. 그렇기 때문에 객체의 구조나 각 항목의 이름등이 domain.xml의 그것과 유사하나, 몇몇 부분들에 대해서는 다르게 표현될 수도 있다.

  • Simple Type

    설정 항목 중 자식 항목을 갖지 않는 것을 말한다.

  • Complex Type

    자식 항목을 갖는 설정 항목을 complex type이라고 한다. 자식으로는 simple type이나 complex type, simple type을 포함하는 목록이나 complex type을 포함하는 목록을 가질 수 있다.

  • 목록(List)

    simple type이나 complex type을 원소로 갖는 목록(List) 형태의 설정 항목도 존재한다.

  • 경로(Path)

    설정 편집 명령어에서는 JEUS 설정에서 각 항목의 위치를 경로로 표현한다. 경로는 설정 항목의 이름이나 complex type의 식별자, 목록에서 대상의 위치를 표시하기 위한 색인 번호(index)로 구성된다. 각 항목은 슬래시(/)로 구분한다.

    1. 최상위 경로(root)는 슬래시 하나로 표현한다.

    2. 현재 위치는 점(dot) 1개로 표현한다.

    3. 현재 위치의 부모 항목은 점(dot) 2개로 표현한다. 예를 들어 '/servers'항목의 부모에 대한 경로명은 '/servers/..'으로 표현한다.

    4. 대부분의 경우 설정 항목의 이름이 해당 항목의 경로명이 된다. 예를 들어 최상위 경로인 root 아래에 있는 servers라는 항목에 대한 경로는 '/servers'로 표현한다. servers 항목이 자식 항목들을 가지고 있고, 그 항목 중 하나의 이름이 server라고 하면, server 항목을 가리키는 경로는 '/servers/server'이다.

    5. complex type을 원소로 갖는 목록의 경우 해당 complex type의 식별자의 값을 경로명으로 사용한다. 여기서 식별자란, 여러 개의 동일한 형식의 complex type이 존재할 때 특정 complex type을 식별할 수 있도록 해주는 각각 고유한 값을 갖는 자식 항목을 말한다. 예를 들어 '/servers/server'는 domain 설정에서 각 서버들의 설정을 담은 여러 개의 complex type으로 이루어진 목록이다. 서버 설정을 담는 complex type에서 식별자는 서버 이름을 사용하도록 지정되어 있다. 따라서 server1에 대한 설정 항목에 대한 경로명은 '/servers/server/server1'로 표현할 수 있다.

    6. simple type을 원소로 갖는 목록의 경우 complex type과 달리 식별자가 존재할 수 없기 때문에 해당 목록에서 몇 번째 원소인지를 나타내는 색인 번호(index)를 경로명으로 사용한다. 색인 번호는 대괄호 사이에 0 이상의 정수가 들어간 형태로 지정한다. 예를 들어 '/a/b'라는 경로명이 있고, b가 simple type으로 이루어진 목록이라고 하면 해당 목록의 첫 번째 원소는 '/a/b/[0]'으로 표현한다.

      참고

      simple type 목록에 대한 경로를 표기할 때 첫 번째 원소는 [1]이 아니라 [0]으로 표기하는 점을 유의하도록 한다.

    7. 각 설정 편집 명령어는 현재 경로를 지정하거나 수정하는 경우가 존재한다. 현재 경로는 서버에 저장되기 때문에 만약 jeusadmin을 여러 개 실행하여 동시에 여러 곳에서 편집을 수행할 경우 현재 경로가 의도하지 않게 변경되어 명령어가 오동작할 수 있다. 따라서 설정 편집 시에는 가급적이면 하나의 jeusadmin만 사용하는 것을 권장한다.

아래는 설정 편집을 위해 사용하는 명령어들을 목록으로 나열한 것이다. 모든 명령어는 서버에 접속한 상태에서만 사용할 수 있다.

명령어설명
activate-configuration수정한 설정을 서버에 반영하고 결과를 출력한다.
cancel동적 설정 변경에 대한 Lock을 해제하고, 서버에 저장되어 있는 수정 내역을 삭제한다. 이 명령어는 Lock을 갖고 있지 않은 상태에서도 사용할 수 있다.
change-current-path현재 경로를 변경하거나 확인한다.
create-empty-element지정한 항목에 빈 complex type을 생성하거나, complex type를 원소로 갖는 목록에 새로운 항목을 추가한다.
delete-element지정한 경로에 위치한 항목을 삭제한다.
set-element-value지정한 simple type에 값을 변경하거나, simple type을 원소로 갖는 목록에 새로운 항목을 추가한다.
start-configuration-editing서버에 요청을 보내 동적 설정 변경에 대한 Lock을 요청한다.
show-element지정한 경로에 위치한 항목에 대한 정보를 출력한다.

4.2.17.1. activate-configuration

수정한 내용을 서버에 반영시키고 결과를 출력한다.

  • alias

    activate

  • 사용법

    activate-configuration
  • 예제

    [DAS]domain1.adminServer>cd /
    [DAS]domain1.adminServer>ls
    description                         Not specified (string      )
    productionMode                      true
    id                                  982883233
    securityManager                     complex type
    passwordValidator                   Not specified (complex type)
    adminServerName                     adminServer
    domainLogHome                       Not specified (string      )
    systemClusteringFramework           complex type
    domainBackup                        complex type
    enableWebadmin                      true
    enableJsonCommand                   false
    enableToResynchronizeApplications   false
    servers                             complex type
    sessionCluster                      complex type
    clusters                            Not specified (complex type)
    serverTemplates                     Not specified (complex type)
    lifecycleInvocation                 list of [lifecycleInvocation]
    applicationRepositories             Not specified (complex type)
    deployedApplications                Not specified (complex type)
    deployedLibraries                   Not specified (complex type)
    resources                           Not specified (complex type)
    
    [DAS]domain1.adminServer>set description "Hello, world"
    The value Hello, world is set at the specified location /description.
    [DAS]domain1.adminServer>ls
    description                         Hello, world
    productionMode                      true
    id                                  982883233
    securityManager                     complex type
    passwordValidator                   Not specified (complex type)
    adminServerName                     adminServer
    domainLogHome                       Not specified (string      )
    systemClusteringFramework           complex type
    domainBackup                        complex type
    enableWebadmin                      true
    enableJsonCommand                   false
    enableToResynchronizeApplications   false
    servers                             complex type
    sessionCluster                      complex type
    clusters                            Not specified (complex type)
    serverTemplates                     Not specified (complex type)
    lifecycleInvocation                 list of [lifecycleInvocation]
    applicationRepositories             Not specified (complex type)
    deployedApplications                Not specified (complex type)
    deployedLibraries                   Not specified (complex type)
    resources                           Not specified (complex type)
    
    [DAS]domain1.adminServer>activate
    The activation completed successfully.
    
    [Details]
    domain.xml : ACTIVATED
    domain : ACTIVATED
    domain.description : ACTIVATED

4.2.17.2. cancel

수정한 내용을 삭제하고, 동적 설정 변경을 위한 Lock을 해제한다. 명령어를 수행하는 유저가 Lock을 갖고 있지 않아도 사용할 수 있다. 이에 동적 설정 변경을 위한 Lock을 강제로 해제하는 용도로도 사용할 수 있는 명령어이다.

  • 사용법

    cancel
  • 예제

    [DAS]domain1.adminServer>edit
    Successfully acquired a configuration lock from Domain Administration Server.
    [DAS]domain1.adminServer>ls
    description                         Hello, world
    productionMode                      true
    id                                  982883233
    securityManager                     complex type
    passwordValidator                   Not specified (complex type)
    adminServerName                     adminServer
    domainLogHome                       Not specified (string      )
    systemClusteringFramework           complex type
    domainBackup                        complex type
    enableWebadmin                      true
    enableJsonCommand                   false
    enableToResynchronizeApplications   false
    servers                             complex type
    sessionCluster                      complex type
    clusters                            Not specified (complex type)
    serverTemplates                     Not specified (complex type)
    lifecycleInvocation                 list of [lifecycleInvocation]
    applicationRepositories             Not specified (complex type)
    deployedApplications                Not specified (complex type)
    deployedLibraries                   Not specified (complex type)
    resources                           Not specified (complex type)
    
    [DAS]domain1.adminServer>cancel
    Current configuration editing status is cleared, and the configuration lock is released.
    [DAS]domain1.adminServer>ls
    Current user does not have the configuration lock.

4.2.17.3. change-current-path

지정한 경로를 현재 경로로 변경한다. 변경할 경로를 지정하지 않은 경우 현재 경로를 표시한다.

  • alias

    cd

  • 사용법

    change-current-path [<path>]
  • 파라미터

    파라미터설명
    [<path>]변경하고자 하는 경로를 지정한다. 경로 지정은 상대 경로나 절대 경로 방식을 모두 사용할 수 있다.
  • 예제

    [DAS]domain1.adminServer>change-current-path servers/server/adminServer
    Current path is changed to /servers/server/adminServer
    [DAS]domain1.adminServer>change-current-path ..
    Current path is changed to /servers/server
    [DAS]domain1.adminServer>change-current-path .
    Current path is changed to /servers/server
    [DAS]domain1.adminServer>change-current-path /
    Current path is changed to /
    [DAS]domain1.adminServer>change-current-path servers/server/server1/../.././server/adminServer
    Current path is changed to /servers/server/adminServer
    [DAS]domain1.adminServer>cd /servers/server/adminServer

4.2.17.4. create-empty-element

지정한 위치에 새로운 complex type을 생성한다. 생성되는 complex type은 내용이 비어있는 상태로 생성되며, 추가적인 작업을 통해 원하는 값을 채워주어야 한다. complex type을 원소로 갖는 목록인 경우 식별자 값을 항목 이름으로 사용하면 지정한 값을 식별자의 값으로 하는 complex type을 생성하여 목록에 추가한다.

  • alias

    create

  • 사용법

    create-empty-element <name>
                         [<type>]
  • 파라미터

    파라미터설명
    <name>생성할 항목의 이름을 지정한다. complex type을 원소로 갖는 목록에 새 complex type을 추가하고자 하는 경우 항목 이름으로 지정한 값을 식별자의 값으로 하는 complex type을 생성한다.
    [<type>]생성할 항목의 형식을 지정한다. 일반적인 경우는 지정하지 않아도 상관없으나, 여러 개의 형식을 원소로 갖는 목록인 경우 가능한 형식 중 생성할 형식을 지정해 주어야 할 필요가 있다.
  • 예제

    • 빈 complex type을 생성하는 예제이다.

      [DAS]domain1.adminServer>cd /
      [DAS]domain1.adminServer>create-empty-element passwordValidator
      Created an empty complex type of passwordValidator at path /
      
    • complex type을 원소로 갖는 목록에 새로운 complex type을 추가하는 예제이다. 'server2'를 식별자인 서버 이름으로 사용하는 새로운 server 항목이 생성되어 목록에 추가되어 있는 것을 확인할 수 있다.

      [DAS]domain1.adminServer>cd /servers/server
      Current path is changed to /servers/server
      [DAS]domain1.adminServer>ls 
        adminServer
        server1
      
      Current list can contain the following type of elements:
      [server]
      The name of the identifier element of [server] element is [name].
      
      [DAS]domain1.adminServer>create-empty-element server2
      Added a new element of type server with id [name == server2] to the list at path /servers/server
      [DAS]domain1.adminServer>ls
        adminServer
        server1
        server2
      
      Current list can contain the following type of elements:
        [server]
      The name of the identifier element of [server] element is [name]. 
    • type 옵션을 사용하여 생성할 complex type 형식을 지정해주는 예제이다. show-element 명령어 결과에 현재 목록이 원소로 여러 형식의 항목을 갖는 것을 확인할 수 있다. 형식을 지정하지 않은 경우 안내 메시지가 출력되는 것도 볼 수 있다.

      [DAS]domain1.adminServer>cd /servers/server/adminServer/systemLogging/jeus/handler/ fileHandlerOrSmtpHandlerOrSocketHandler
      [DAS]domain1.adminServer>ls 
         fileHandler
      
      Current list can contain the following type of elements:
          [fileHandler, userHandler, smtpHandler, socketHandler]
      The name of the identifier element of [fileHandler, userHandler, 
      smtpHandler, socketHandler] element is [name].
      
      [DAS]domain1.adminServer>create-empty-element handler1
      Must specify an element type to create a new element. Available types are fileHandler, userHandler, smtpHandler, socketHandler.
      
      [DAS]domain1.adminServer>create-empty-element handler1 userHandler
      Added a new element of type userHandler with id [name == handler1] to the list at path 
      /servers/server/adminServer/systemLogging/jeus/handler/fileHandlerOrSmtpHandlerOrSocketHandler
      [DAS]domain1.adminServer>ls fileHandler handler1
      
      Current list can contain the following type of elements:
          [fileHandler, userHandler, smtpHandler, socketHandler]
      The name of the identifier element of [fileHandler, userHandler, 
      smtpHandler, socketHandler] element is [name]. 

4.2.17.5. delete-element

지정한 경로에 위치한 항목을 삭제한다.

  • alias

    delete, rm

  • 사용법

    delete-element <path>
  • 파라미터

    파라미터설명
    <path>값을 삭제할 항목의 경로를 지정한다.
  • 예제

    [DAS]domain1.adminServer>cd /
    Current path is changed to /
    [DAS]domain1.adminServer>ls
    description                         Hello,world
    productionMode                      true
    id                                  982883233
    securityManager                     complex type
    passwordValidator                   Not specified (complex type)
    adminServerName                     adminServer
    domainLogHome                       Not specified (string      )
    systemClusteringFramework           complex type
    domainBackup                        complex type
    enableWebadmin                      true
    enableJsonCommand                   false
    enableToResynchronizeApplications   false
    servers                             complex type
    sessionCluster                      complex type
    clusters                            Not specified (complex type)
    serverTemplates                     Not specified (complex type)
    lifecycleInvocation                 list of [lifecycleInvocation]
    applicationRepositories             Not specified (complex type)
    deployedApplications                Not specified (complex type)
    deployedLibraries                   Not specified (complex type)
    resources                           Not specified (complex type)
    
    [DAS]domain1.adminServer>delete-element description
    Successfully delete the target element at /description.
    [DAS]domain1.adminServer>ls
    description                         Not specified (string      )
    productionMode                      true
    id                                  982883233
    securityManager                     complex type
    passwordValidator                   Not specified (complex type)
    adminServerName                     adminServer
    domainLogHome                       Not specified (string      )
    systemClusteringFramework           complex type
    domainBackup                        complex type
    enableWebadmin                      true
    enableJsonCommand                   false
    enableToResynchronizeApplications   false
    servers                             complex type
    sessionCluster                      complex type
    clusters                            Not specified (complex type)
    serverTemplates                     Not specified (complex type)
    lifecycleInvocation                 list of [lifecycleInvocation]
    applicationRepositories             Not specified (complex type)
    deployedApplications                Not specified (complex type)
    deployedLibraries                   Not specified (complex type)
    resources                           Not specified (complex type)

4.2.17.6. start-configuration-editing

서버에 요청을 하여 동적 설정 변경 작업에 대한 Lock을 얻는다. Lock을 얻는데 성공한 경우 서버의 현재 경로를 초기화한다. Lock을 얻지 못한 경우 이후에 cancel을 제외한 명령어는 동작하지 않으므로, 설정 편집을 하고자 하는 경우 반드시 이 명령어를 먼저 수행하여 Lock을 얻어야 한다.

  • alias

    lock-and-edit, edit

  • 사용법

    start-configuration-editing [-f]
  • 파라미터

    파라미터설명
    [-f]다른 사용자가 동적 설정 변경에 대한 Lock을 갖고 있더라도 이를 무시하고 강제로 Lock을 얻으려고 시도한다.
  • 예제

    [DAS]domain1.adminServer>start-configuration-editing
    Successfully acquired a configuration lock from Domain Administration Server.

4.2.17.7. set-element-value

지정한 simple type 항목의 값을 수정하거나, simpe type을 원소로 갖는 목록에 값을 추가할 때 사용한다. 이 명령어를 통해 값을 삭제할 수는 없다.

  • alias

    set

  • 사용법

    set-element-value <path><value>
  • 파라미터

    파라미터설명
    <path>수정할 항목의 경로를 지정한다.
    <value>수정할 값을 지정한다.
  • 예제

    • set-element-value 명령어를 사용하여 description 항목에 "Hello, world!"라는 값을 설정하는 예제이다.

      [DAS]domain1.adminServer>cd /
      Current path is changed to /
      [DAS]domain1.adminServer>ls
      description                         Not specified (string      )
      productionMode                      true
      id                                  982883233
      securityManager                     complex type
      passwordValidator                   Not specified (complex type)
      adminServerName                     adminServer
      domainLogHome                       Not specified (string      )
      systemClusteringFramework           complex type
      domainBackup                        complex type
      enableWebadmin                      true
      enableJsonCommand                   false
      enableToResynchronizeApplications   false
      servers                             complex type
      sessionCluster                      complex type
      clusters                            Not specified (complex type)
      serverTemplates                     Not specified (complex type)
      lifecycleInvocation                 list of [lifecycleInvocation]
      applicationRepositories             Not specified (complex type)
      deployedApplications                Not specified (complex type)
      deployedLibraries                   Not specified (complex type)
      resources                           Not specified (complex type)
      
      [DAS]domain1.adminServer>set-element-value description "Hello,world"
      The value Hello,world is set at the specified location /description.
      [DAS]domain1.adminServer>ls
      description                         Hello,world
      productionMode                      true
      id                                  982883233
      securityManager                     complex type
      passwordValidator                   Not specified (complex type)
      adminServerName                     adminServer
      domainLogHome                       Not specified (string      )
      systemClusteringFramework           complex type
      domainBackup                        complex type
      enableWebadmin                      true
      enableJsonCommand                   false
      enableToResynchronizeApplications   false
      servers                             complex type
      sessionCluster                      complex type
      clusters                            Not specified (complex type)
      serverTemplates                     Not specified (complex type)
      lifecycleInvocation                 list of [lifecycleInvocation]
      applicationRepositories             Not specified (complex type)
      deployedApplications                Not specified (complex type)
      deployedLibraries                   Not specified (complex type)
      resources                           Not specified (complex type)
    • simple type을 원소로 갖는 목록에 값을 추가하는 예제이다. 값을 추가할 목록에 대한 경로를 항목 이름으로 사용하는 것을 알 수 있다.

      [DAS]domain1.adminServer>start-configuration-editing
      Successfully acquired a configuration lock from Domain Administration Server.
      [DAS]domain1.adminServer>cd lifecycleInvocation
      Current path is changed to /lifecycleInvocation
      [DAS]domain1.adminServer>create-empty-element com.tmax.sample
      Added a new element of type lifecycleInvocation with id [className == com.tmax.sample] to the list at path /lifecycleInvocation
      [DAS]domain1.adminServer>cd com.tmax.sample
      Current path is changed to /lifecycleInvocation/com.tmax.sample
      [DAS]domain1.adminServer>cd invocation
      Current path is changed to /lifecycleInvocation/com.tmax.sample/invocation
      [DAS]domain1.adminServer>create-empty-element invocation
      Added a new element of type invocation to the list at path /lifecycleInvocation/com.tmax.sample/invocation
      [DAS]domain1.adminServer>cd [0]
      Current path is changed to /lifecycleInvocation/com.tmax.sample/invocation/[0]
      [DAS]domain1.adminServer>ls
          invocationMethod                    Not specified (complex type)
          invocationArgument                  list of [string]
          invocationType                      Not specified (enum[BOOT,
                                              BEFORE_DEPLOY, AFTER_DEPLOY, READY, 
                                              BEFORE_UNDEPLOY, AFTER_UNDEPLOY])
      
      [DAS]domain1.adminServer>set-element-value invocationArgument arg0
      The value arg0 added to the list in the specified location: /lifecycleInvocation/com.tmax.sample/invocation/[0]/invocationArgument.
      [DAS]domain1.adminServer>cd invocationArgument 
      Current path is changed to /lifecycleInvocation/com.tmax.sample/invocation/[0]/invocationArgument
      [DAS]domain1.adminServer>ls
          [0]                                 arg0
      
      Current list can contain the following type of elements:
          [string]
      
      [DAS]domain1.adminServer>set-element-value . arg1
      The value arg1 added to the list in the specified location: /lifecycleInvocation/com.tmax.sample/invocation/[0]/invocationArgument.
      [DAS]domain1.adminServer>ls
          [0]                                 arg0
          [1]                                 arg1
      
      Current list can contain the following type of elements:
          [string]

4.2.17.8. show-element

지정한 경로에 위치한 항목에 대한 정보를 표시한다. 출력되는 정보는 항목의 이름, 값, 형식(type) 등이다. 경로를 지정하지 않은 경우 현재 위치에 대한 경로를 표시한다.

  • alias

    ls

  • 사용법

    show-element [<path>]
  • 파라미터

    파라미터설명
    [<path>]정보를 조회할 항목의 경로를 지정한다.
  • 예제

    • complex type에 대한 정보를 출력한 예제이다. 항목의 이름, 값(존재하는 경우), 값의 형식을 출력하는 것을 알 수 있다.

      [DAS]domain1.adminServer>show-element
      
      name                                adminServer
      nodeName                            node1
      listeners                           complex type
      logHome                             Not specified (string      )
      group                               Not specified (string      )
      jvmConfig                           complex type
      userInterceptor                     Not specified (complex type)
      userLogging                         Not specified (complex type)
      systemLogging                       list of [systemLogging]
      logStdoutToRawFormat                true
      actionOnResourceLeak                WARNING (enum[NO_ACTION, WARNING, AUTO_CLOSE])
      tmConfig                            complex type
      externalResource                    list of [externalResource]
      managedExecutorService              list of [string]
      managedScheduledExecutorService     list of [string]
      contextService                      list of [string]
      managedThreadFactory                list of [string]
      scheduler                           Not specified (complex type)
      namingServer                        complex type
      jmxManager                          Not specified (complex type)
      systemThreadPool                    complex type
      dataSourceRemoteLookup              false
      engineInitOnStartup                 true
      useWebEngine                        true
      useEjbEngine                        true
      useJmsEngine                        true
      webEngine                           complex type
      ejbEngine                           complex type
      jmsEngine                           complex type
      useMEJB                             false
      classFtp                            true
      enableInterop                       Not specified (complex type)
      lifecycleInvocation                 list of [lifecycleInvocation]
      resRef                              complex type
      jmsResource                         complex type
      dataSources                         Not specified (complex type)
      customResourceRefs                  Not specified (complex type)
      externalResourceRefs                Not specified (complex type)
      autoGenerated                       Not specified (boolean     ) 
    • complex type를 원소로 갖는 목록 항목에 대한 정보를 출력하는 예제이다. 각 항목의 이름은 식별자의 값으로 표시되며, 해당 목록에 들어갈 수 있는 값의 형식과 식별자가 표시되는 것을 알 수 있다.

      [DAS]domain1.adminServer>show-element /servers/server
          adminServer
          server1
      
      Current list can contain the following type of elements:
          [server]
      The name of the identifier element of [server] element is [name].

4.2.18. JSON을 사용한 명령어 실행

JEUS 7 Fix#1부터 JSON을 사용하여 명령어를 실행할 수 있는 기능이 추가되었다.

HTTP POST 요청을 사용하여 명령어 실행을 요청하는 JSON 문장을 보내면, 서버에서 요청을 처리한 후 명령어 실행 결과를 담은 JSON 문장을 HTTP 응답으로 보내주는 구조이다.

참고

JSON에 대한 기본적인 내용은 www.json.org을 참고한다.

4.2.18.1. 일반 명령어 실행

설명을 위해 사용할 예제 명령어는 다음과 같다.

serverinfo -server server1 -state

위 명령어를 JSON을 사용하여 실행하는 과정은 다음과 같다.

  1. 명령어 수행을 요청하는 JSON 문장을 작성한다.

    예제 명령어를 실행하기 위해 작성해야 하는 JSON 문장은 다음과 같다.

    {
        "jeusadmin": {
            "command": "server-info",
            "options":[
                "-server server1",
                "-state"
                ],
            "argument": null
        }
    }
    구분설명
    command실행할 명령어 이름
    options명령어에 적용할 옵션과 옵션에 대한 인자들
    argument명령어에 적용할 인자들
  2. 작성한 JSON 문장을 서버로 전송하여 명령어 실행을 요청한다. 전송할 때 사용하는 프로토콜은 HTTP이며, method는 POST를 사용해야 한다.

    JEUS 서버에서 JSON 명령어 실행을 위한 요청을 받는 URL은 다음과 같다.

    http://${SERVER_HOST}:${SERVER_BASE_PORT}/jsonCommand/command.json

    참고

    JEUS 서버에서 명령어를 실행하려면 사용자 인증이 필요하다. 사용자 인증은 HTTP Basic Authentication을 사용한다.

  3. 서버가 요청한 JSON 문장을 해석하여 실행한 후, 실행 결과를 담은 JSON 문장을 HTTP 응답으로 전송한다. 실행 결과는 개별 명령어별로 각각 다르다.

    아래 결과는 예제 명령어를 실행한 경우 서버에서 응답으로 올 수 있는 결과물의 예제이다. JEUS 도메인 구성에 따라 결과는 달라질 수 있다.

    {
        "jeusadmin-result": {
            "message":"",
            "data":[
                {
                    "title":"Information of Domain (domain1)",
                    "header":null,
                    "column-names":[
                        "Server","Status","Node Name","PID","Cluster",
                        "Latest StartTime/ShutdownTime","Need to Restart",
                        "Listen Ports"
                    ],
                    "rows":[
                        {
                            "row-key":"0",
                            "values":[
                                "server1(*)","RUNNING (284sec)","N/A","2151","N/A", 
                                ... (생략)
                            ]
                        }
                    ],
                    "footer":null
                }
            [,
            "post-message":""
        }
    }     

    응답 결과를 담고 있는 JSON 문장은 다음과 같은 요소들로 구성된다.

    • message

      상단에 출력할 메시지이다. message가 여러 개인 경우 List 형태로 표현한다. 명령어에 따라 존재하지 않을 수도 있다.

    • data

      실행 결과를 담고 있는 객체로 명령어에 따라 존재하지 않을 수도 있다. data는 기본적으로 표 형태의 자료 구조를 표현하고 있으며, 구성 요소는 다음과 같다.

      구분설명
      title표의 제목이다.
      header표의 머릿말이다.
      column-names표를 구성하는 각 열(column)들의 이름이다.
      rows

      표를 구성하는 각 행(row)의 내용이다.

      다음의 2가지 구성 요소로 이루어져 있다.

      • row-key : 해당 행의 이름이다.

      • values : 해당 행에 들어갈 값이다.

      footer표의 꼬릿말이다.
    • post-message

      하단에 출력할 메시지이다. post-message가 여러 개인 경우 List 형태로 표현한다. 명령어에 따라 존재하지 않을 수도 있다.

4.2.18.2. Application deploy

본 절에서는 JSON을 사용하여 애플리케이션을 설치하거나 배포하는 방법을 설명한다. 애플리케이션을 설치하거나거 배포하는 작업은 일반 명령어와 다르게 실행할 JSON 명령어와 배포할 애플리케이션을 함께 전달해야 한다.

다음은 JSON을 사용하여 애플리케이션을 설치하거나 배포하는 과정에 대한 설명이다.

  1. 명령어 수행을 요청하는 JSON 문장을 작성한다. Hello.war라는 애플리케이션을 'server1'에 배포하려고 할 경우 JSON 명령어는 다음과 같이 작성한다.

    {
        "jeusadmin": {
            "command": "deploy-application",
            "options":[
                "-servers server1",
                "-path Hello.war"
                ],
            "argument": null
        }
    }
  2. 작성한 JSON 문장과 배포할 파일을 Multi-part 형태로 서버로 전송하여 명령어 실행을 요청한다. Multi-part는 1에서 작성한 JSON 명령어를 담은 command 파트와 배포할 애플리케이션 아카이브를 지정한 file 파트로 구성한다.

    JEUS 서버에서 JSON 명령어를 통한 애플리케이션 deploy 요청을 받는 URL은 다음과 같다.

    http://${SERVER_HOST}:${SERVER_BASE_PORT}/jsonCommand/install.json

    참고

    JEUS 서버에서 명령어를 실행하려면 사용자 인증이 필요하다. 사용자 인증은 HTTP Basic Authentication을 사용한다.

  3. 서버가 요청한 JSON 문장을 해석하여 실행한 후 실행 결과를 담은 JSON 문장을 HTTP 응답으로 전송한다. 이 부분은 일반 명령어를 실행했을 경우와 다르지 않으므로 “4.2.18.1. 일반 명령어 실행”을 참고한다.

참고

애플리케이션 설치 또는 배포에 관련한 명령어는 install-application, deploy-application, distribute-application이 있다.

4.2.19. Script 모드 사용법 및 Script 작성법

본 절에서는 Script 모드 사용법 및 Script 작성법에 대해서 설명한다.

4.2.19.1. Script 모드 사용법

Script모드로 jeusadmin을 동작시킨다.

  • 예제

    다음은 JEUS 사용자 이름은 'administrator', 비밀번호는 'jeus'로 가정하고 test.py 스크립트를 실행하는 jeusadmin script 모드 예제이다.

    JEUS_HOME/bin$jeusadmin -u administrator -p jeus -script test.py
    Attempting to connect to 127.0.0.1:9736.
    The connection has been established to Domain Administration Server adminServer in the domain domain1.
    JEUS8 Administration Tool
    To view help, use the 'help' command.
    

    아래와 같이 스크립트에 인자를 넘겨 줄 수도 있다.

    JEUS_HOME/bin$jeusadmin -u administrator -p jeus -script "test.py arg1 arg2"
    

4.2.19.2. Script 작성법

jeusadmin은 Script 모드로 동작할 때에 커맨드 실행을 위한 메서드와 결과 데이터를 제공한다.

  • 커맨드 실행

    아래와 같은 방법으로 각 스크립트 언어별로 커맨드를 실행할 수 있다.

    • Python

      result = command("server-info") 
    • Ruby

      result = $command.call "server-info" 
  • 결과 데이터

    커맨드 실행에 대한 결과로 JeusResult 객체가 리턴되며 결과가 표 형태의 결과를 포함할 경우 JeusResult로부터 JeusTabularData 객체를 얻을 수 있다.

    각 데이터 타입은 아래와 같은 메소드를 제공한다.

    • JeusResult

      메소드설명
      isComplete()커맨드 실행이 정상적으로 완료되었는지 리턴한다.
      getMessage()결과 메시지를 리턴한다.
      getData()결과의 표 데이터인 JeusTabularData의 리스트를 리턴한다.
    • JeusTabularData

      메소드설명
      getTitle()표의 타이틀을 리턴한다.
      getHeader()표의 머릿말을 리턴한다.
      getFooter()표의 꼬릿말 리턴한다.
      getColumnNames()표의 각 열의 제목만을 리스트 형태로 리턴한다.
      getRows()표 데이터의 각 행의 리스트를 리턴한다.
  • 예제

    • SHUTDOWN 상태인 서버들을 찾아 출력하고 재시작한다.

      result = command("server-info")
      tables = result.getData();
      table = tables[0];
      rows = table.getRows();
      shutdown_servers = []
      for row in rows:
          if "SHUTDOWN" in row[1]:
              shutdown_servers.append(row[0])
              print("Server : %s, Node : %s" % (row[0], row[2]))
      
      if shutdown_servers:
          command("start-server %s" % (",".join(shutdown_servers)))
      
    • 스크립트의 인자로 애플리케이션 경로와 deploy할 서버 리스트를 받아 애플리케이션을 install, deploy한 후 서버를 재시작한다.

      import time
      import sys
      import os
      
      path = sys.argv[0]
      servers = sys.argv[1]
      direc, app = os.path.split(path)
      apptype = os.path.splitext(app)[1][1:].upper()
      
      command("undeploy -f %s " % app)
      command("uninstall-application %s" % app)
      command("install-application %s -id %s" % (path, app))
      command("deploy %s -servers %s -type %s" % (app, servers, apptype)) 
      
      # restart servers
      command("stop-server %s" % servers)
      time.sleep(5)
      command("start-server %s" % servers) 

참고

현재 jeusadmin에서는 Python과 Ruby 두 가지 스크립트 언어에 대해서만 스크립트 모드를 제공하며 이를 확장자로 구분하고 있다. 각각 .py와 .rb 확장자에 대해서만 스크립트를 인식하여 동작한다.

4.3. appcompiler

appcompiler는 EJB 인터페이스 Impl, Skeleton, Stub 클래스, JSP를 컴파일하여 서블릿 클래스, 웹 서비스의 Endpoint 클래스 등을 생성하는 애플리케이션 컴파일러이다.

appcompiler는 EJB 2.1 인터페이스의 Impl 클래스, RMI Stub과 Skeleton 클래스, 웹 모듈의 JSP를 컴파일해서 서블릿 클래스들을 미리 생성하기 위해 사용할 수 있다. EJB 3.0 인터페이스로만 구성된 EJB의 경우나 JAX-WS 클라이언트, 서버 애플리케이션은 이 툴을 실행할 필요가 없다.

이 툴은 다음과 같은 경우에 사용하면 효과적이다.

  1. EJB 2.x 표준에 준하는 Bean들이 많아서 최초 디플로이 시간이 오래 걸리는 경우

  2. 서비스 타임에 JSP 컴파일할 시간이 오래 걸려서 미리 컴파일을 해두어야 하는 경우

EJB 2.x 모듈의 경우에는 deploy할 때에 애플리케이션에 fast-deploy 설정을 해야 한다. 또는 jeusadmin 콘솔 툴의 deploy 명령어에 [-fast] 옵션을 추가한다. 이 옵션을 통해서 모듈의 런타임 deploy하는 경우 appcompiler가 자동으로 수행되는 것을 막을 수 있다. EJB 엔진은 fast-deploy 옵션이 설정된 경우 인터페이스 Impl, Skeleton, Stub 클래스들을 생성하고 컴파일하는 과정을 수행하지 않고, 미리 생성된 클래스들을 사용해서 deploy할 때 시간을 줄일 수 있다. EJB 3.x 모듈의 경우 appcompiler가 수행되지 않는다. 따라서 하나의 모듈안에 EJB 3.x 모듈내에 EJB 2.x가 함께존재하더라도 appcompiler는 수행되지 않는다.

웹 엔진은 JSP에 대한 컴파일된 서블릿 클래스 파일이 있을 경우에는 실제 서비스 타임에 컴파일하지 않는다. 이 툴에는 하나의 파일을 생성한 후 컴파일하는 Each 모드와 모든 파일을 생성한 후 한 번에 컴파일하는 Batch 모드가 있다. Batch 모드는 Each 모드에 비해 속도는 빠르지만 컴파일할 때 에러가 나면 원인이 되는 파일을 찾기 힘들다는 단점이 있다. 기본 동작은 Each 모드이므로 Batch 모드를 원할 경우 [-batch] 옵션을 이용하거나 jeus.app.compiler.mode=batch를 설정한다. 단, Batch 모드는 EJB 2.x 모듈에만 적용된다.

참고

Windows에서 WAR 파일에 대해 appcompiler 수행할 때 임시로 만든 디렉터리가 지워지지 않을 수 있다. 이는 java.net.URLClassLoader가 WAR 파일 내부에 포함된 WEB-INF/lib/*.jar 파일들을 명시적으로 닫을 수 없기 때문이다. java.net.URLClassLoader의 경우 Java 7부터 close 메소드가 추가되었으므로 이에 기반하는 향후 버전에서는 문제가 생기지 않을 것이다. 그러나 현재는 임시 디렉터리를 수동으로 삭제해야 한다.

다음은 툴 사용법, 파라미터 및 예제에 대한 설명이다.

  • 사용법

    appcompiler [-h] 
                [-verbose] 
                [-clp <class-path>]
                [-keep] 
                [-jspmap] 
                [-batch] 
                [-q]
                [-client <clientview_filename>]
                [-noaddfile] 
                [-deloldgen]
                [-ejbjar <ejb-jar.xml_path>]
                [-jeusejbdd <jeus-ejb-dd.xml_path>]
                [-D <property=value>]
                [-property <file-name>]
                [-target <application-path>]
                [-j concurrency-level]
                [-ejbonly]
                [-genjavaonly]
                [-webonly]
    
  • 파라미터

    파라미터설명
    [-h]appcompiler의 도움말을 출력한다.
    [-verbose]verbose 모드를 설정하여 상세한 과정을 출력한다(로그 레벨을 FINEST로 설정한다).
    [-clp]컴파일 과정에서 필요한 라이브러리를 class path로 등록한다. 파일 또는 디렉터리 모두 올 수 있으며 각각을 구분할 때 Windows는 세미콜론( ; ), Unix는 콜론( : )을 쓰도록 한다.
    [-keep]컴파일 과정에서 생성된 소스를 유지할 것인지를 설정한다.
    [-jspmap]servlet-mapping table(jeus_jspmap.xml)을 생성할 것인지를 설정한다. 단, 이 옵션을 사용할 경우에는 JSP 파일이 있는 디렉터리 이름에 Java 예약어(예:. if, enum, class 등)가 있으면 안 된다.
    [-batch]

    모든 파일을 생성한 후 한 번에 컴파일하는 Batch 모드로 동작한다.

    이 옵션이 없으면 하나의 파일을 생성한 후 컴파일하는 Each 모드로 동작한다. 이 옵션은 EJB 2.x 모듈에만 적용된다.

    [-q]

    여러 모듈들을 포함한 EAR 애플리케이션을 컴파일할 때 특정 웹 모듈 컴파일을 실패할 경우 남은 다른 모듈들을 컴파일하지 않고 에러 메시지를 출력하고 중단한다.

    이 옵션이 없을 경우에는 특정 웹 모듈 컴파일을 실패해도 에러 메시지만 출력하고 남은 다른 모듈들에 대해 컴파일을 진행한다.

    [-client <clientview_filename>]

    생성될 Stub 클래스들과 인터페이스 클래스들이 포함될 clientview 파일의 이름을 설정한다.

    • <clientview_filename>은 EJB archived 파일 형식인 JAR만 지원하며, 컴파일하는 대상(archived or exploded application)이 존재하는 디렉터리에 생성된다. 이 옵션은 standalone EJB 모듈과 EJB 모듈을 가지고 있는 EAR 애플리케이션에만 적용된다.

    • <clientview_filename>은 <application_file_or_directory_name>과 동일한 경우에는 지원하지 않는다.

    • <clientview_filename>과 동일한 이름의 파일이 존재할 경우 clientview를 위한 인터페이스 클래스와 생성된 Stub 클래스를 이미 존재하는 동일한 이름의 파일에 포함시킨다. clientview 파일은 서버에 설치된 EJB를 이용하는 클라이언트 애플리케이션을 개발하기 위해 클라이언트에게 제공한다.

    [-noaddfile]

    [-client] 옵션과 함께 사용할 때 유효하며, clientview 파일을 생성하지만, 컴파일 대상이 되는 파일은 컴파일하지 않고 원본 내용을 유지한다.

    예를 들어 calc.jar를 appcompiler로 수행할 때 clientview 파일을 생성하기 위해서 [-client] 옵션을 사용한다. 여기서 clientview 파일은 Stub과 Remote, Home 인터페이스 클래스들만 모아둔 파일을 의미한다. 이때 calc.jar를 appcompiler로 컴파일한 뒤 clientview 파일을 생성하기 때문에 calc.jar를 컴파일한다. 컴파일된 파일은 원본 파일에서 컴파일 과정을 통해 생성된 Impl, Skeleton, Stub 등 클래스 파일들이 추가되어 있다. 만약 사용자가 calc.jar 파일 자체는 컴파일된 상태로 만들기를 원하지 않고, clientview 파일만 생성하기를 원할 경우에 [-noaddfile] 옵션을 사용할 수 있다.

    [-deloldgen]

    EJB 모듈을 컴파일할 때 JEUS 이전 버전에서 만들어진 Impl, Skeleton, Stub 파일들을 삭제하고 컴파일을 시도한다.

    [참고]

    JEUS 4와 JEUS 5에서 Impl, Skeleton, Stub 클래스들의 이름을 생성하는 방식이 JEUS 8과는 다르다. JEUS 이전 버전인 JEUS 4와 JEUS 5에서 생성한 EJB 모듈을 appcompiler로 컴파일하여 JEUS 8에서 사용하려고 할 때 기존 버전의 Impl, Skeleton, Stub 파일들이 남아있어 JEUS 8에서 정상적으로 EJB가 수행하지 않는 문제점을 해결할 수 있다.

    [-ejbjar <ejb-jar.xml_path> ]컴파일할 때 사용할 ejb-jar.xml 파일을 설정한다.
    [-jeusejbdd <jeus-ejb-dd.xml_path> ]컴파일할 때 사용할 jeus-ejb-dd.xml 파일을 설정한다.
    [-D <property=value>]시스템 프로퍼티를 지정한다. 이 옵션은 한 번 이상 이용할 수 있다.
    [-property <file-name>]파일로부터 시스템 프로퍼티를 설정한다.
    [-target <application-path>]

    컴파일할 대상 애플리케이션 파일(archived ear, jar, war) 또는 디렉터리(exploded EAR, JAR, WAR)를 설정한다.

    EAR뿐 아니라 standalone JAR, WAR도 하나의 애플리케이션으로 생각한다. 컴파일해서 생성된 Impl, Skeleton, Stub 클래스 파일들은 컴파일하는 대상 애플리케이션의 파일에 추가된다.

    [-j concurrency-level]JSP 컴파일할 때에 사용하는 값이다. JSP 파일들이 많은 경우 이 설정을 통해서 여러 개의 Thread로 동시에 컴파일을 진행하는 것이 효율적이다. (기본값: 1)
    [-ejbonly]EAR 내부에 있는 EJB 모듈만 컴파일한다.
    [-genjavaonly]Java 파일만을 생성하고 싶을 때에 사용한다.
    [-webonly]EAR 내부에 있는 Web 모듈만 컴파일한다.
  • 예제

    appcompiler는 JEUS_HOME/bin/ 디렉터리에 위치한 일반적인 스크립트 파일이다.

    • ejb.jar 모듈의 Home, Remote interface Impl, Skeleton, Stub 클래스를 생성해서 JAR 파일에 포함한다.

      JEUS_HOME/bin$ appcompiler ejb.jar
    • web.war 모듈의 모든 JSP 파일로부터 서블릿 클래스를 생성해서 WAR 파일에 포함한다.

      JEUS_HOME/bin$ appcompiler web.war
    • Batch 모드로 모듈을 컴파일한다.

      JEUS_HOME/bin$ appcompiler -batch app.jar
    • ejb.jar 모듈의 home, remote 인터페이스 Impl, Skeleton, Stub 클래스를 생성해서 ejb.jar 파일에 포함시키며 Home, Remote 인터페이스와 생성된 Stub 클래스를 포함한 clinetview.jar 파일을 생성한다.

      JEUS_HOME/bin$ appcompiler -client clientview.jar ejb.jar

4.4. ejbddinit

ejbddinit은 ejb-jar.xml 정보와 사전에 생성된 프로퍼티 파일 및 사용자 입력 값 등을 이용해서 JEUS EJB DD(jeus-ejb-dd.xml)를 자동으로 생성하는 툴이다.

EJB를 deploy할 때 필요한 항목들은 기본값으로 설정하므로 JEUS EJB DD는 반드시 존재해야하는 것은 아니다. 따라서 EJB를 새로 개발할 경우 불필요할 수 있지만, JEUS EJB DD를 사용하던 기존 방법으로 애플리케이션을 작성하거나 다른 제품에서 전환(migration)하는 경우 쉽게 템플릿을 작성하는 용도로 사용할 수 있다.

참고

Java EE 6의 annotation-based 방식은 소스 파일 내에 설정할 수 있으므로 지원하지 않는다.

다음은 툴 사용법, 파라미터 및 예제에 대한 설명이다.

  • 사용법

    ejbddinit [-property property_file_path]
              [-level log_level]
              [-source application_file_or_directory_name]
  • 파라미터

    파라미터설명
    [-property property_file_path]

    프로퍼티 파일의 경로를 지정한다. jeus-ejb-dd.xml을 목적에 맞게 생성하기 위해서는 이 옵션을 반드시 설정해야 한다. 프로퍼티를 JEUS EJB DD의 태그에 대응시켜 값을 설정할 수 있다. 설정 가능한 프로퍼티 목록은 절 4.4. “프로퍼티 목록”을 참고한다.

    • 예1)

      export-port=40001

      모든 EJB에 대해서 export-port를 40001로 설정하여 jeus-ejb-dd.xml 파일을 생성한다.

    • 예2)

      SampleBean.export-port=40004

      ejb.jar에서 EJB 이름이 SampleBean으로 설정된 EJB 대해서 export-port를 40004로 설정하여 jeus-ejb-dd.xml 파일을 생성한다. 이와 같이 각 프로퍼티 이름 앞에 점(.)을 구분자로 하여 특정 EJB 이름을 명시할 수 있다. 동일한 설정에 대하여 특정 EJB 이름을 명시한 프로퍼티와 그렇지 않은 프로퍼티가 존재할 때 전자가 우선 적용된다.

    [-level log_level]ejbddinit를 실행할 때 화면에 출력되는 로그의 레벨을 설정한다.
    [-source application_file_or_directory_name]

    대상 EJB 모듈의 경로를 설정한다. EJB 모듈은 '.jar' 확장자를 갖는 압축 파일이거나 디렉터리이다.

    성공적으로 JEUS EJB DD를 생성하면, EJB 모듈이 디렉터리일 경우 META-INF 폴더 하위에 jeus-ejb-dd.xml을 생성한다. EJB 모듈이 압축 파일인 경우 본래의 파일 이름 끝에 ".new"를 붙인 이름으로 새로운 압축 파일을 만들고 압축 파일 내부의 META-INF 디렉터리 하위에 jeus-ejb-dd.xml을 생성한다.

  • 예제

    • usage를 출력한다.

      $ ejbddinit
    • ejbddinit.properties에 정의된 프로퍼티를 바탕으로 EJB 모듈인 ejb.jar에 대하여 ejb.jar.new 파일을 생성한다. 생성된 ejb.jar.new 파일 내부의 META-INF 디렉터리 하위에 jeus-ejb-dd.xml이 위치한다.

      $ ejbddinit -property ejbddinit.properties -source ejb.jar
    • ejbddinit.properties에 정의된 프로퍼티를 바탕으로 EJB 모듈인 ejb_dir의 META-INF 디렉터리 하위에 jeus-ejb-dd.xml을 생성한다.

      $ ejbddinit -property ejbddinit.properties -source ejb_dir
    • ejbddinit.properties에 정의된 프로퍼티를 바탕으로 jeus-ejb-dd.xml을 생성한다. source 옵션 값을 입력하지 않았으므로 ejbddinit.properties에 EJB 모듈 경로가 설정되어 있어야 한다.

      $ ejbddinit -property ejbddinit.properties
    • ejbddinit.properties에 정의된 프로퍼티를 바탕으로 EJB 모듈인 ejb.jar에 대하여 ejb.jar.new 파일을 생성한다. 생성된 ejb.jar.new 파일 내부의 META-INF 디렉터리 하위에 jeus-ejb-dd.xml이 위치한다. FINE 레벨의 로그가 화면에 출력된다.

      $ ejbddinit -property ejbddinit.properties -level FINE -source ejb.jar

    참고

    ejbddinit은 Ant Task를 지원한다. ejbddinit ant task는 “5.4.2. ejbddinit”에서 설명한다.

프로퍼티 목록

다음은 ejbddinit에서 지원하는 프로퍼티 목록이다. 각 프로퍼티에 대한 상세 설명은 대응되는 jeus-ejb-dd.xml 태그의 description을 참고한다.

프로퍼티Type비고
sourceString대상 EJB 모듈의 경로이다. jeus-ejb-dd.xml의 태그와 관련 없다.
logging-levelStringejbddinit를 실행할 때 화면에 출력되는 로그의 레벨로 jeus-ejb-dd.xml의 태그와 관련 없다.
export-nameStringjeus-ejb-dd.xml의 <export-name> 태그에 대응한다. 특정 EJB에 대해서만 사용을 권장한다. 사용하는 경우 패턴을 지원한다. 자세한 내용은 "export-name 프로퍼티에 대한 패턴 지원"을 참고한다.
local-export-nameStringjeus-ejb-dd.xml의 <local-export-name> 태그에 대응한다. 특정 EJB에 대해서만 사용을 권장한다.
export-portint (not negative)jeus-ejb-dd.xml의 <export-port> 태그에 대응한다.
export-iiopbooleanjeus-ejb-dd.xml의 <export-iiop> 태그에 대응한다.
thread-maxint (not negative)jeus-ejb-dd.xml의 <thread-max> 태그에 대응한다.
bean-pool-minint (not negative)jeus-ejb-dd.xml의 <bean-pool>/<pool-min> 태그에 대응한다.
bean-pool-maxint (not negative)jeus-ejb-dd.xml의 <bean-pool>/<pool-max> 태그에 대응한다.
connect-pool-minint (not negative)jeus-ejb-dd.xml의 <connect-pool>/<pool-min> 태그에 대응한다.
connect-pool-maxint (not negative)jeus-ejb-dd.xml의 <connect-pool>/<pool-max> 태그에 대응한다.
capacityint (not negative)jeus-ejb-dd.xml의 <capacity> 태그에 대응한다.
passivation-timeoutlong (not negative or -1 for disable)jeus-ejb-dd.xml의 <passivation-timeout> 태그에 대응한다.
disconnect-timeoutlong (not negative or -1 for disable)jeus-ejb-dd.xml의 <disconnect-timeout> 태그에 대응한다.
engine-typeString (defined)

jeus-ejb-dd.xml의 <engine-type> 태그에 대응한다.

다음 중에 하나를 설정한다.

  • EXCLUSIVE_ACCESS

  • SINGLE_OBJECT

  • MULTIPLE_OBJECT

subengine-typeString (defined)

jeus-ejb-dd.xml의 <subengine-type> 태그에 대응한다.

다음 중에 하나를 설정한다.

  • ReadLocking

  • WriteLocking

  • WriteLockingFind

fetch-sizeint (not negative)jeus-ejb-dd.xml의 <fetch-size> 태그에 대응한다.
init-cachingbooleanjeus-ejb-dd.xml의 <init-caching> 태그에 대응한다.
table-nameStringjeus-ejb-dd.xml의 <table-name> 태그에 대응한다.
creating-tableString (defined)

jeus-ejb-dd.xml의 <creating-table> 태그에 대응한다.

다음 중에 하나를 설정한다.

  • none

  • use-existing

  • force-create

deleting-tablebooleanjeus-ejb-dd.xml의 <deleting-table> 태그에 대응한다.
db-vendorStringjeus-ejb-dd.xml의 <db-vendor> 태그에 대응한다.
datasource-nameStringjeus-ejb-dd.xml의 <data-source-name> 태그에 대응한다.
enable-instant-qlbooleanjeus-ejb-dd.xml의 <enable-instant-ql> 태그에 대응한다.

export-name 프로퍼티에 대한 패턴 지원

export-name은 EJB 모듈 이름이나 ejb-jar.xml에 정의된 EJB 컴포넌트의 <ejb-name>, <ejb-class> 태그의 값들을 이용하여 지정하는 경우가 대부분이므로 이들 값들을 좀 더 편리하게 이용할 수 있도록 패턴을 지원한다.

패턴 이름패턴 값
%{module-name}EJB 모듈 이름이다. JAR 파일인 경우 '.jar' 확장자를 제거한 파일 이름이다.
%{ejb-name}EJB 컴포넌트 이름이다. ejb-jar.xml에 정의된 해당 EJB 컴포넌트의 <ejb-name> 태그의 값이다.
%{ejb-fqn}EJB 컴포넌트의 EJB 클래스의 fully qualified name이다. ejb-jar.xml에 정의된 해당 EJB 컴포넌트의 <ejb-class> 태그의 값이다.
%{ejb-class}%{ejb-fqn} 값에서 패키지 이름을 제외한 클래스 이름이다.

다음은 이름이 'sample-ejb'이고 EJB 클래스의 fully qualified name이 'sample.SampleBean'인 EJB 컴포넌트가 이름이 'myejb'인 EJB 모듈에 패키지되어 있다고 가정하는 경우 패턴 사용의 예이다.

  • export-name을 'myejb_sample-ejb'로 지정한다.

    export-name=%{module-name}_%{ejb-name}
  • export-name을 'PREFIX_sample.SampleBean'으로 지정한다.

    export-name=PREFIX_%{ejb-fqn}
  • export-name을 'SampleBean_POSTFIX'로 지정한다.

    export-name=%{ejb-class}_POSTFIX

위의 예에서 알 수 있듯이 export-name을 설정할 때 필요한 기타 문자열(PREFIX나 POSTFIX와 같은)들을 패턴에 붙일 수 있으며 패턴 간의 조합도 가능하다. 패턴 이름은 대소문자 구별 없이 사용할 수 있다.

프로퍼티 파일 예제

다음은 ejbddinit 프로퍼티 파일의 작성 예다. JEUS EJB DD를 생성할 EJB에 대하여 적절히 동작하도록 다음의 예제를 수정해서 사용할 것을 권장한다.

# PROPERTY FILE SAMPLE
# JEUS EJB DD Generation Option

# target file or directory path
source=/home/workspace/ejb.jar

# log-level for EJB DD init
logging-level=DEBUG

# JEUS EJB DD configuration tag and value pairs for all EJBs
db-vendor=mysql
datasource-name=jdbc/__default
creating-table=use-existing
deleting-table=false
engine-type=EXCLUSIVE_ACCESS
subengine-type=ReadLocking
fetch-size=1111
enable-instant-ql=true    
export-port=9999
export-iiop=false
thread-max=100
bean-pool-min=10
bean-pool-max=100
capacity=10000
passivation-timeout=300000
disconnect-timeout=-1
connect-pool-min=10
connect-pool-max=100
init-caching=false

# JEUS EJB DD configuration tag and value pairs for BookBean EJB
BookBean.export-name=BookBeanFromProperty
BookBean.local-export-name=LocalBookBeanFromProperty
BookBean.export-port=55555
BookBean.thread-max=100

4.5. encryption

encryption은 암호화 툴(Encryption Tool)로 문자열을 암호화하거나 그 반대로 복호화하는 기능을 제공한다. 문자열은 Base64 포맷으로 인코딩하거나 Hash 결과를 제공한다.

secret key가 필요한 알고리즘(예: AES, DES, DESEDE, BLOWFISH, SEED)의 경우 security.key 파일을 생성하여 사용한다. security.key 파일은 기본적으로 JEUS_HOME/domains/<domain name>/config/security에 위치하며, 변경하려면 시스템 프로퍼티 jeus.security.keypath를 이용하여 경로를 지정한다.

참고

JEUS 6 Fix#3부터는 Master Password를 이용해서 security.key 파일을 보호하는 것이 가능하다. JEUS 6 Fix#4부터 암호화 방식이 조금 바뀌었고, 이에 따라 JEUS 6 Fix#5에서 이전 포맷의 ciphertext를 바뀐 포맷의 ciphertext로 바꿔주는 convert 옵션이 encryption에 추가되었다.

encryption은 다음의 디렉터리에 위치한 encryption 스크립트로 실행할 수 있다.

JEUS_HOME/bin/


다음은 툴 사용법, 파라미터 및 예제에 대한 설명이다.

  • 사용법

    Usage: encryption <algorithm> <text> [-options ...]
    Options:
        -algorithm <algorithm>   Encryption algorithm
        -text <text>             Text to be encrypted
        -domain <domain>         domain name
        -keypath <keypath>       security key path
        -nm                      use nodemanager's security.key
        -convert                 convert old ciphertext format to new ciphertext format
        -decode                  set to decode mode; used for base16/base64 only
        -protectkey              use protected secret key
        -algolist                show available algorithms
        -s                       describe simple result only
        -h                       help for Encryption
    Simple example : encryption AES 1234
  • 파라미터

    파라미터설명
    -algorithm <algorithm>text를 인코드할 알고리즘을 설정한다. 필수 옵션으로 명시하지 않을 경우 첫 번째 argument를 algorithm 값으로 간주한다.
    -text <text>인코드될 평문을 설정한다. 필수 옵션으로 명시하지 않을 경우 두 번째 argument를 text 값으로 간주한다.
    -domain <domain>대칭키 알고리즘에 사용될 security.key를 입력한 domain의 것을 사용한다. -domain, -keypath, -nm 중 한 가지만 입력해야 한다.
    -keypath <keypath>대칭키 알고리즘에 사용될 security.key를 입력한 keypath의 것을 사용한다. -domain, -keypath, -nm 중 한 가지만 입력해야 한다.
    -nm대칭키 알고리즘에 사용될 security.key를 입력한 NODEMANAGER_HOME의 것을 사용한다. -domain, -keypath, -nm 중 한 가지만 입력해야 한다.
    -convert입력한 암호문을 새로운 암호문으로 변경한다.
    -decodeBASE16/BASE64로 암호화된 암호문을 디코드하여 평문을 얻어낸다.
    -protectkeyMaster Password를 입력받아 security.key 파일을 암호화 한다. 암호화된 security.key를 사용하기 위해서는 입력했던 Master Password를 입력해야 한다.
    -algolist사용가능한 알고리즘들을 출력한다.
    -s인코드 결과값만 출력한다.
    -h사용법을 출력한다.
  • 예제

    다음은 JEUS_HOME 시스템 환경변수가 설정되어 있고, 시스템 Path에 JEUS_HOME/bin 디렉터리가 설정되어 있다고 가정하는 경우 encryption 호출에 대한 예이다.

    호출 후에 툴은 단순히 인코딩 또는 디코딩된 문자열을 조회한다. 만약 툴에 어떤 파라미터도 제공하지 않았거나, 호출 문법이 잘못되었을 경우 단순한 도움말 메시지가 출력된다.

    $ encryption base64 mypassword
    [BASE64] : [mypassword] --> [encode:bXlwYXNzd29yZA==]
    [BASE64] : [bXlwYXNzd29yZA==] --> [decode:mypassword]

    다음은 문자열 "bXlwYXNzd29yZA=="는 "mypassword"를 Base 64포맷으로 인코딩한 것이다.

    $ encryption DESede mypassword 
    [DESEDE] : [mypassword] --> [encode:8JLoskMPHkwwLKi+TJeOgQZBDO15PBQ=]
    [DESEDE] : [8JLoskMPHkwwLKi+TJeOgQZBDO15PBQ=] --> [decode:mypassword]

    문자열 “8JLoskMPHkwwLKi+TJeOgQZBDO15PBQ=”는 "mypassword"를 DESede cipher algorhtm으로 암호화된 패스워드이다. 이 암호화를 진행하기 위해 만들어진 secret key는 JEUS_HOME/domains/<domain name>/config/security의 security.key 파일에 저장된다(또는 첫 암호화가 아닐 경우 security.key 파일에 저장된 key를 이용).

    -protectkey 옵션을 이용하면 Master Password를 입력받아 security.key 파일을 암호화하는 것이 가능하다.

    $ encryption -protectkey AES mypassword 
    Input the master password For key encryption>
    Confirm the master password For key encryption>
    [AES] : [mypassword] --> [encode:qsHQdjqh8aAr3fWPYWbU0/VkFbs9yllZeRJaK5xSiuo=]
    [AES] : [qsHQdjqh8aAr3fWPYWbU0/VkFbs9yllZeRJaK5xSiuo=] --> [decode:mypassword]

    위의 예제와 비슷한데 Master Password를 입력 받는 것이 다르다.

    여기서 입력받는 패스워드를 이용하여 secret key를 DESede 알고리즘으로 암호화하게 된다. 위의 명령어를 수행한 이후 만들어진 security.key 파일을 사용하기 위해서는 항상 Master Password를 입력받는 작업이 필요하다. 따라서, 암호화된 security.key 파일을 이용해 암호화를 진행할 경우 다음과 같이 수행된다.

    $ encryption -protectkey AES mypassword 
    The encryption key file is encrypted. Enter the master password.
    Password>
    [AES] : [mypassword] --> [encode:qsHQdjqh8aAr3fWPYWbU0/VkFbs9yllZeRJaK5xSiuo=]
    [AES] : [qsHQdjqh8aAr3fWPYWbU0/VkFbs9yllZeRJaK5xSiuo=] --> [decode:mypassword]

    JEUS 6 Fix#4부터 encryption 방식이 좀 더 보안적인 측면에서 강화된 버전으로 바뀌었다. 따라서 ciphertext의 포맷이 조금 변화하였는데, Fix#4 이전 버전에서 생성한 암호문을 이후 버전에서 그대로 사용할 수 없게 되었다. 이에 따라 JEUS 6 Fix#5부터 encryption에서 ciphertext를 변환할 수 있는 기능이 추가되었고, 이는 -convert 옵션을 이용해 다음과 같이 사용할 수 있다.

    $ encryption -convert AES i06wYRz3u60/Gqun2sKtXH1u=
    Decryption was successful.
    [before:i06wYRz3u60/Gqun2sKtXH1u=] --> [after:ET7c/P21Qx1Io8UI6Ss2NvZ0G=]

    security.key 파일이 암호화되어 있을 경우에는 다음과 같이 실행한다.

    $ encryption -convert -protectkey AES i06wYRz3u60/Gqun2sKtXH1u=
    The encryption key file is encrypted. Enter the master password.
    Password>
    
    Decryption succeed.
    [before:i06wYRz3u60/Gqun2sKtXH1u=] --> [after:ET7c/P21Qx1Io8UI6Ss2NvZ0G=]

4.6. java2wsdl

java2wsdl은 JAX-RPC 웹 서비스를 위한 툴로 Java 클래스로부터 WSDL 파일과 JAX-RPC 매핑 파일을 생성한다. 또한 service end-point interface Java 클래스(또는 구현 클래스)로부터 웹 서비스의 WSDL 파일, JAX-RPC 매핑 파일과 같은 리소스를 생성한다.

다음은 툴 사용법, 파라미터 및 예제에 대한 설명이다.

  • 사용법

    Usage: java2wsdl <options> <input file>
    
    where <input file> include:
      configuration file          service configuration xml file (by default)
    
    where <options> include:
      -classpath <path>           specify where to find input class files
      -cp <path>                  same as -classpath <path>
      -d <directory>              specify where to place generated output files
      -level <log-level>          specify a log level
      -verbose                    [optional] turn verbose mode on
  • 파라미터

    파라미터설명
    -classpath <path>입력 Java 클래스 파일들을 찾기 위한 경로를 기술한다.
    -cp <path>-classpath <path>와 동일하다.
    -d <directory>결과 파일이 생성될 디렉터리를 지정한다.
    -level로그 레벨을 지정한다.
    -verboseVerbose 메시지를 출력한다.
  • 예제

    java2wsdl는 JEUS_HOME/bin/ 디렉터리에 위치한 일반적인 스크립트 파일이다.

    java2wsdl 툴을 실행하는 예는 다음과 같다.

    $ java2wsdl -classpath build/classes -d build/web/WEB-INF service-config.xml

    위의 명령어는 "service-config.xml" 설정 파일과 "build/classes" 디렉터리의 클래스들을 통해 "build/web/WEB-INF" 디렉터리에 WSDL 문서 및 JAX-RPC 매핑 파일을 생성한다.

4.7. schemagen

schemagen 툴은 Java 클래스들에 나타나는 각각의 Namespace에 대해 하나의 스키마 파일을 생성한다.

다음은 툴 사용법, 파라미터 및 예제에 대한 설명이다.

  • 사용법

    Usage: schemagen [-options ...] <java files> 
    Options: 
        -d <path>             : specify where to place processor and javac generated
                                class files
        -cp <path>            : specify where to find user specified files
        -classpath <path>     : specify where to find user specified files
        -encoding <encoding>  : specify encoding to be used for apt/javac invocation 
        -episode <file>       : generate episode file for separate compilation
        -version              : display version information
        -fullversion          : display full version information
        -help                 : display this usage message
  • 파라미터

    파라미터설명
    -d <path>프로세서와 클래스 파일들의 위치를 설정한다.
    -cp <path>사용자가 명시하는 파일들을 찾을 곳을 설정한다.
    -classpath <path>-cp <path>와 동일하다.
    -encoding <encoding>apt/javac 호출에서 사용되는 인코딩을 설정한다.
    -episode <file>분리되어 컴파일을 진행하기 위한 episode 파일들을 생성한다.
    -version버전 정보를 출력한다.
    -fullversion전체 버전 정보를 출력한다.
    -help사용법을 출력한다.
  • 예제

    schemagen는 JEUS_HOME/bin/ 디렉터리에 위치한 일반적인 스크립트 파일이다.

    schemagen 툴을 실행하는 예는 다음과 같다.

    $ schemagen -d build/classes src/java/cardfile/Address.java

    위의 명령어는 Root Element에 해당하는 Address.java 소스 파일로부터 "build/classes" 디렉터리에 스키마를 생성한다.

4.8. tcpmon

본 절에서는 tcpmon 툴에 대해 설명한다.

4.8.1. 실행

tcpmon 프로그램은 송수신하는 TCP 패킷을 조회하는 프로그램으로 HTTP의 SOAP 메시지를 조회할 때 사용한다.

tcpmon은 다음의 2가지 모드로 동작한다.

모드설명
Listenertcpmon이 listen port로 요청을 받아서 지정된 target host와 target port로 받은 요청을 다시 전송하고 응답을 받아서 원래 요청한 커넥션으로 응답을 전송한다.
Proxytcpmon을 일반적인 HTTP Proxy처럼 동작하게 한다.

다음과 같이 tcpmon을 실행하면 [그림 4.1] 화면이 나타난다.

$ tcpmon

[그림 4.1] tcpmon 실행 화면

tcpmon 실행 화면

4.8.2. Listener 모드의 사용

Listener 모드를 사용하기 위해서 다음과 같은 시나리오를 가정한다.

  • 서버(A)는 8000번 Port로 SOAP 요청을 받아들인다.

  • 클라이언트(B)의 웹 서비스 클라이언트가 송수신하는 SOAP 메시지를 모니터링하고자 한다.

[그림 4.2] 서버(A)가 8000번 포트로 SOAP 요청을 받아들이는 시나리오

서버(A)가 8000번 포트로 SOAP 요청을 받아들이는 시나리오


이 경우 웹 서비스 클라이언트 프로그램에서는 tcpmon을 사용하여 SOAP 메시지를 모니터링할 수 있다.

클라이언트(B)에서 tcpmon을 실행한 뒤 다음과 같이 설정한다.

  1. [Admin] 탭에서 'Listen Port'는 '9000'으로 입력하고 'Act as a'는 'Listener'를 선택한다. 'Listener'의 하위 항목인 'Target Hostname'는 'A', 'Target Port'는 '8000'으로 입력한다. 각각의 값을 입력한 후 [Add] 버튼을 클릭한다.

    [그림 4.3] Listener 모드 입력 화면

    Listener 모드 입력 화면

  2. 다음과 같이 [Port 9000] 탭이 생성된다. 이 탭을 클릭하면 다음과 같은 화면이 나타난다.

    [그림 4.4] 모니터링 화면

    모니터링 화면

    화면의 체크박스와 각 버튼에 대한 설명이다.

    항목설명
    XML FormatXML을 보기 좋은 형태로 정렬하여 TCPMON 화면에 출력한다.
    [Save] 버튼현재 SOAP 메시지를 저장한다.
    [Resend] 버튼현재 Request SOAP 메시지를 재전송한다.
    [Switch Layout] 버튼메시지 출력 화면의 가로/세로 분할 모드를 바꾼다.
  3. 이렇게 설정한 후 클라이언트 프로그램에서 서버(A)의 8000번에 접속하는 대신 클라이언트(B)의 9000번에 접속하도록 한다. 그 후 클라이언트 프로그램을 실행하면 tcpmon이 9000번으로 들어온 요청을 받아서 서버(A)의 8000번 Port로 전송 후 응답을 받아서 클라이언트가 tcpmon에 연결한 커넥션의 응답으로 돌려주고 송수신한 메시지를 tcpmon에 출력한다.

    [그림 4.5] tcpmon이 9000번으로 들어온 요청을 받아서 A의 8000번 Port로 전송

    tcpmon이 9000번으로 들어온 요청을 받아서 A의 8000번 Port로 전송


웹 서비스의 end-point 주소 변경

tcpmon을 Listener 모드로 사용하는 경우 웹 서비스의 end-point 주소를 바꾸기 위해서 클라이언트 프로그램이나 클라이언트의 설정을 변경할 필요가 있다.

  • J2SE JAX-WS 웹 서비스 클라이언트의 경우

    접속하려는 웹 서비스의 end-point 주소를 바꾸기 위해서는 다음 예와 같이 코드를 수정한다.

    (javax.xml.ws.BindingProvider)port).getRequestContext().put(
        javax.xml.ws.BindingProvider.ENDPOINT_ADDRESS_PROPERTY,
        "http://localhost:9000/ws/AddNumbersService");
    • port

      서비스 end-point 인터페이스에 대한 JAX-WS BindingProvider 객체이다.

    • javax.xml.ws.BindingProvider.ENDPOINT_ADDRESS_PROPERTY

      end-point 주소를 지정하기 위한 JAX-WS 스펙에서 정의한 표준 속성이다.

  • J2SE JAX-RPC 웹 서비스 클라이언트의 경우

    접속하려는 웹 서비스의 end-point 주소를 바꾸기 위해서는 다음 예와 같이 코드를 수정한다.

    ((javax.xml.rpc.Stub)port)._setProperty(
          javax.xml.rpc.Stub.ENDPOINT_ADDRESS_PROPERTY,
          “http://localhost:9000/ws/AddressBookService”);
    • port

      서비스 end-point 인터페이스에 대한 JAX-RPC Stub 객체이다.

    • javax.xml.rpc.Stub.ENDPOINT_ADDRESS_PROPERTY

      end-point 주소를 지정하기 위한 JAX-RPC 스펙에서 정의한 표준 속성이다.

  • J2EE 웹 서비스 클라이언트의 경우

    코드 수정 없이 JEUS 설정 파일(jeus-web-dd.xml 또는 jeus-ejb-dd.xml)을 <service-client>에 <stub-property>를 추가하여 위의 속성을 적용할 수 있다.

    <service-client>
        <port-info>
            <stub-property>
                <name>javax.xml.rpc.service.endpoint.address</name>
                <value>
                    http://localhost:9000/ws/AddressBookService
                </value>
            </stub-property>
        </port-info>
    </service-client>

4.8.3. Proxy 모드의 사용

Proxy 모드는 tcpmon을 일반적인 HTTP Proxy처럼 동작하게 한다. Proxy 모드는 [Admin] 탭에서 'Listen Port'를 입력하고 'Act as a'Proxy를 선택하고 [Add] 버튼을 클릭해서 사용한다.

Proxy 모드의 경우 애플리케이션을 수정하지 않고 애플리케이션을 실행할 때 다음의 옵션을 설정하여 tcpmon을 사용할 수 있다.

옵션설명
-Dhttp.proxyHosttcpmon이 수행되고 있는 Host 이름 또는 IP 주소를 입력한다.
-Dhttp.proxyPorttcpmon의 Listen Port를 입력한다.

클라이언트 애플리케이션이 com.acme.AddressBookClient 클래스인 경우 다음과 같이 옵션을 설정하여 java를 실행한다.

java –Dhttp.proxyHost=B –Dhttp.proxyPort=9000 com.acme.AddressBookClient

4.8.4. 기타 기능

각 Port별 탭에서 SOAP 메시지를 formatting하거나 저장 또는 재전송을 할 수 있다.

4.9. webddgen

webddgen은 사용자 입력 값을 바탕으로 웹 애플리케이션 내 WEB-INF 디렉터리에 jeus-web-dd.xml를 생성 또는 업데이트하는 툴이다. 웹 모듈 내부의 WEB-INF 디렉터리에 jeus-ejb-dd.xml을 생성한다. 압축 파일인 경우 그 파일에 jeus-web-dd.xml을 포함시켜준다.

다음은 툴 사용법, 파라미터 및 예제에 대한 설명이다.

  • 사용법

    webddgen -file <war-file-path>
             [-ctx <context-path>]
             [-prop <context-level-property>]
             [-verbose]         
  • 파라미터

    파라미터설명
    -file <war-file-path>

    웹 모듈의 경로를 설정한다.

    .war 확장자를 갖는 JAR 형식의 압축 파일이거나 디렉터리이다.

    [-ctx <context-path>]jeus-web-dd.xml에 설정할 context-path 정보이다.
    [-prop <context-level-property>]

    웹 모듈(Web Context) 단위로 설정하는 프로퍼티이다.

    예를 들어 JEUS 4에서 작성한 JSP를 수정하지 않고 사용하려면 해당 JSP가 포함된 웹 모듈의 jeus.servlet.jsp.modern 프로퍼티를 false로 설정한다. 프로퍼티 형식은 name=value이다.

    (예: jeus.servlet.jsp.modern=false)

    [-verbose]동작에 문제가 있을 때 디버깅 용도로 사용할 수 있다. 이를 위해서 webddgen 내부적으로 생성하는 디렉터리를 삭제하지 않는다. 단, webddgen을 재실행할 때 삭제한다.
  • 예제

    • 사용법을 출력한다.

      $ webddgen -help
    • web.war에 jeus-web-dd.xml을 생성한다.

      $ webddgen -file web.war
    • jeus-web-dd.xml을 생성할 때 context-path를 추가한다.

      $ webddgen -file web.war -ctx /web1
    • JEUS 4에서 작성한 JSP가 포함된 웹 모듈에 jeus.servlet.jsp.modern 프로퍼티를 false로 설정한다.

      $ webddgen -file oldjsps.war -prop jeus.servlet.jsp.modern=false

4.10. wsgen

wsgen 툴은 JAX-WS 웹 서비스를 위한 툴이다. JAX-WS 웹 서비스를 위한 툴로 Java 클래스로부터 WSDL 파일과 JAX-RPC 매핑 파일을 생성하고, 웹 서비스 정책 설정 파일을 생성할 수도 있다.

wsgen 툴은 service endpoint interface 클래스(그리고 임의의 Java로 구현한 클래스)로부터 다음과 같은 것을 생성한다.

  • Portable Artifacts

  • 웹 서비스의 WSDL 파일(옵션)

  • 웹 서비스 정책 파일 wsit-<endpoint classname>.xml 파일(옵션)

다음은 툴 사용법, 파라미터 및 예제에 대한 설명이다.

  • 사용법

    Usage: wsgen [options] <SEI>
    
    where [options] include:
      -classpath <path>        specify where to find input class files
      -cp <path>               same as -classpath <path>
      -d <directory>           specify where to place generated output files
      -extension               allow vendor extensions - functionality not specified
                               by the specification.  Use of extensions may
                               result in applications that are not portable or
                               may not interoperate with other implementations
      -help                    display help
      -keep                    keep generated files
      -r <directory>           resource destination directory, specify where to
                               place resouce files such as WSDLs
      -s <directory>           specify where to place generated source files
      -verbose                 output messages about what the compiler is doing
      -version                 print version information
      -wsdl[:protocol]         generate a WSDL file. The protocol is optional.
                               Valid protocols are [soap1.1, Xsoap1.2], the default is 
                               soap1.1.
                               The non stanadard protocols [Xsoap1.2] can only be used 
                               in conjunction with the -extension option.
      -inlineSchemas           inline schemas in the generated wsdl.
                               Must be used in conjunction with the -wsdl option.
      -servicename <name>      specify the Service name to use in the generated WSDL
                               Used in conjunction with the -wsdl option.
      -portname <name>         specify the Port name to use in the generated WSDL
                               Used in conjunction with the -wsdl option.
    
    Examples:
      wsgen -cp . example.Stock
      wsgen -cp . example.Stock -wsdl -servicename {http://mynamespace}MyService 
  • 파라미터

    파라미터설명
    -classpath <path>입력 Java 클래스 파일들을 찾기 위한 경로를 기술한다.
    -cp <path>-classpath <path>와 동일하다.
    -d <directory>결과 파일이 생성될 디렉터리를 지정한다.
    -extension벤더 특정의 확장성을 명시할 때 사용한다. 상호 운용 및 이식성이 떨어질 수 있다.
    -help도움말을 출력한다.
    -keep생성되는 파일들을 보존한다.
    -r <directory>genwsdl 속성과 함께 사용한다. WSDL 파일을 생성할 위치를 지정한다.
    -s <directory>생성되는 소스 파일들의 위치를 설정한다.
    -verboseVerbose 메시지를 출력한다.
    -version버전 정보를 화면에 출력한다.
    -wsdl[:protocol]

    기본적으로 wsgen은 WSDL 파일을 생성하지 않는다. 이 옵션을 사용하면 개발자는 deploy되기 전에 WSDL 파일을 볼 수 있다.

    [:protocol] 또한 옵션이며 기본값은 soap1.1 이다. Xsoap1.2 또한 사용할 수 있으며 -extension 옵션과 함께 사용한다.

    -inlineSchemas

    생성된 WSDL의 스키마를 인라인한다.

    -wsdl 옵션과 함께 사용해야 한다.

    -servicename <name>-wsdl 옵션과 함께 사용한다. 생성되는 WSDL 파일의 특정 wsdl:service element의 이름을 설정한다.
    -portname <name>-wsdl 옵션과 함께 사용한다. 생성되는 WSDL 파일의 특정 wsdl:portname element의 이름을 설정한다.
  • 예제

    wsgen는 JEUS_HOME/bin/ 디렉터리에 위치한 일반적인 스크립트 파일이다.

    wsgen 툴을 실행하는 예는 다음과 같다.

    $ wsgen -classpath build/classes -d build/classes -wsdl 
    fromjava.server.AddNumbersImpl

    위의 명령어는 서비스 end-point 구현 클래스인 fromjava.server.AddNumbersImpl로부터 JAX-WS 웹 서비스를 구성한다. fromjava.server.AddNumbersImpl의 클래스 패스는 "build/classes"이며 WSDL 문서와 함께 JavaBean 파일들이 "build/classes" 디렉터리에 생성된다.

4.11. wsimport

wsimport는 JAX-WS 웹 서비스를 위한 툴이다. WSDL 파일로부터 클라이언트 측 Java Stub 소스 파일들과 서버 측 웹 서비스 인터페이스 Java 소스 파일, 웹 서비스 정책 설정 파일을 생성한다.

wsimport 툴은 웹 서비스의 WSDL로부터 다음과 같은 것을 생성한다.

  • SEI, 서비스 클래스와 그 밖의 JAXB 관련 Java 클래스들

  • 웹 서비스 정책 설정이 담긴 WSDL 파일, wsit-client.xml 파일

다음은 툴 사용법, 파라미터 및 예제에 대한 설명이다.

  • 사용법

    Usage: wsimport [options] <WSDL_URI>
    
    where [options] include:
      -b <path>                 specify jaxws/jaxb binding files or additional schemas
                                (Each <path> must have its own -b)
      -B <jaxbOption>            Pass this option to JAXB schema compiler
      -catalog <file>           specify catalog file to resolve external entity 
                                references supports TR9401, XCatalog, 
                                and OASIS XML Catalog format
      -d <directory>            specify where to place generated output files
      -extension                allow vendor extensions - functionality not specified
                                by the specification.  Use of extensions may
                                result in applications that are not portable or
                                may not interoperate with other implementations
      -help                     display help
      -httpproxy:<host>:<port>  specify a HTTP proxy server (port defaults to 8080)
      -keep                     keep generated files
      -p <pkg>                  specifies the target package
      -quiet                    suppress wsimport output
      -s <directory>            specify where to place generated source files
      -target <version>         generate code as per the given JAXWS spec version 
                                Defaults to 2.2, Accepted values are 2.0, 2.1 and 2.2
                                e.g. 2.0 will generate compliant code for JAXWS 2.0 
                                spec
      -verbose                  output messages about what the compiler is doing
      -version                  print version information
      -wsdllocation <location>  @WebServiceClient.wsdlLocation value
      -clientjar <jarfile>      Creates the jar file of the generated artifacts along 
                                with the WSDL metadata required for invoking the web 
                                service.
      -generateJWS              generate stubbed JWS implementation file
      -implDestDir <directory>  specify where to generate JWS implementation file
      -implServiceName <name>   local portion of service name for generated JWS 
                                implementation
      -implPortName <name>      local portion of port name for generated JWS 
                                implementation
    
    Extensions:
      -XadditionalHeaders       map headers not bound to request or response message 
                                to Java method parameters
      -Xauthfile                file to carry authorization information in the 
                                format  http://username:password@example.org/stock?wsdl
      -Xdebug                   print debug information
      -Xno-addressing-databinding       enable binding of W3C EndpointReferenceType to 
                                        Java
      -Xnocompile                       do not compile generated Java files
      -XdisableAuthenticator            disable Authenticator used by JAX-WS RI,
                                        -Xauthfile option will be ignored if set
      -XdisableSSLHostnameVerification  disable the SSL Hostname verification while 
                                        fetching wsdls
    
    Examples:
      wsimport stock.wsdl -b stock.xml -b stock.xjb
      wsimport -d generated http://example.org/stock?wsdl
  • 파라미터

    파라미터설명
    -b <path>외부의 JAX-WS 또는 JAXB 바인딩 파일들을 지정한다.
    -B <jaxbOption>이 옵션을 JAXB 스키마 컴파일러에 전달함을 지정한다.
    -catalog <file>TR9401, XCatalog, OASIS XML Catalog 형식과 같은 외부의 Entity 참조값을 설정할 수 있다. 또한 ant xmlcatalog 타입을 사용할 수도 있다.
    -d <directory>결과 파일이 생성될 디렉터리를 지정한다.
    -extension벤더 특정의 확장성을 명시할 때 사용한다. 상호 운용 및 이식성이 떨어질 수 있다.
    -help도움말을 출력한다.
    -httpproxy:<host>:<port> HTTP 프록시 서버를 지정한다. (기본값: 8080)
    -keep생성되는 파일들을 보존한다.
    -p <pkg>WSDL의 모든 Namespace URI에 대한 Java 패키지 이름을 지정한다.
    quiet출력 메시지들을 보이지 않게 한다.
    -s <directory> 생성된 소스 파일들이 놓일 위치를 지정한다. 이 속성을 지정하면 keep 속성이 자동으로 설정된다.
    -target <version>이곳에 지정된 JAXWS 스펙 버전에 따라 코드를 생성한다.
    -verboseVerbose 출력은 true일때 가능하다. (기본값: false)
    -version버전 정보를 화면에 출력한다.
    -wsdllocation <location>WSDL URI를 이 속성에 명시하면 그 URI 값이 생성되는 SEI(Service Endpoint Interface)와 서비스 인터페이스의 @WebService.wsdlLocation Annotation과 @WebServiceClient.wsdlLocation Annotation에 설정된다.
    -clientjar <jarfile>웹 서비스 호출에 필요한 WSDL 메타 데이터와 함께 생성된 아티팩트의 jar 파일을 생성한다.
    -generateJWSStub된 JWS 구현 파일을 생성한다.
    -implDestDir <directory>JWS 구현 파일을 생성할 위치를 지정한다.
    -implServiceName <name>생성된 JWS 구현에 대한 서비스 이름의 로컬 부분이다.
    -implPortName <name>생성된 JWS 구현에 대한 포트 이름의 로컬 부분이다.
  • 예제

    wsimport는 JEUS_HOME/bin/ 디렉터리에 위치한 일반적인 스크립트 파일이다.

    wsimport 툴을 실행하는 예는 다음과 같다.

    $ wsimport -d build/classes -keep -p fromwsdl.server src/conf/AddNumbers.wsdl

    위의 명령어는 AddNumbers.wsdl WSDL 문서로부터 패키지명이 fromwsdl.server인 Portable Artifact를 생성한다. [-keep] 옵션에 의해 생성되는 Java 클래스 소스들은 삭제되지 않는다.

4.12. wsdl2java

wsdl2java은 JAX-RPC 웹 서비스를 위한 툴로 WSDL 파일로부터 다음의 파일을 생성한다.

  • 클라이언트의 웹 서비스 Stub Java 소스 코드들

  • 서버의 웹 서비스 인터페이스 Java 소스 코드들

다음은 툴 사용법, 파라미터 및 예제에 대한 설명이다.

  • 사용법

    Usage: wsdl2java mode [options] wsdlURI
    
    where mode include:
    -gen:client              generate all client artifacts
    -gen:server              generate all server artifacts
    -gen                     same as -gen:client
    -import:client           generate client JSR-109 portable artifacts only
    -import:server           generate server JSR-109 portable artifacts only
    -import                  same as -import:client
    
    where [options] include:
    * destination directory
    -d <directory>           specify where to put output files
    -cd <directory>          specify where to put compiled class files
                             If not specifed, the compile class files will be
                             put in where '-d' specifies
    
    * WSDL and Java mapping
    -inputmapping <filename> specify the input JSR-109 JAX-RPC mapping file
                             (used for generating Java artifacts)
    -package <package_name>  specify the java package name to which
                             all namespaceURI in the WSDL map
    -ns2pkg NS=PKG           specify the namespaceURI and java package name mapping
                             (NS : namespaceURI, PKG : java package name)
                             This option can be used serveral times
    
    * output file
    -outputmapping <filename>  specify the output JSR-109 JAX-RPc mapping file
                             for the input WSDL
                             This option can not be used with '-inputmapping'
    -compile                 compile generated Java source files
                             ('tools.jar' must be in the classpath)
    -nokeepsrc               delete generated java source files
    
    * artifact generation options
    -nowrapped               disable wrapped mode detection for the WSDL
    -datahandleronly         force javax.activation.DataHandler for MIME types
    -nodatabinding           force javax.xml.soap.SOAPElement for all WSDL parts
    -soapver <VER>           specify SOAP version used in stub/tie class.
                             VER : '11' for SOAP 1.1, '12' for SOAP 1.2
    -resolvedir directory    specify directory where to be put local copies
                             of include/import schemas and import WSDL
    
    * other options
    -username                username to access the WSDL-URI
    -password                password to access the WSDL-URI
    
    * verbose options
    -level <LEVEL>           specify log level.
                             LEVEL : SEVERE, WARNING, INFO, FINE, FINER, FINEST
    -verbose                 same as -level FINE

  • 파라미터

    파라미터설명
    -gen:client클라이언트 측 Java 클래스를 생성한다.
    -gen:server서버 측 Java 클래스를 생성한다.
    -gen-gen:client와 동일하다.
    -import:client클라이언트 측 Portable Artifact를 생성한다.
    -import:server서버 측 Portable Artifact를 생성한다.
    -import-import:client와 동일하다.
    -d <directory>결과 파일이 생성될 디렉터리를 지정한다.
    -cd <directory>컴파일된 클래스 파일이 생성될 디렉터리를 지정한다.
    -inputmapping <filename>Java 클래스를 생성하기 위하여 사용되는 입력 JAX-RPC 매핑 파일을 지정한다.
    -package <package_name>WSDL의 모든 Namespace URI에 대한 Java 패키지 이름을 지정한다.
    -ns2pkg NS=PKG

    Namespace URI에 대한 Java 패키지 이름을 지정한다.

    • NS: Namespace URI

    • PKG: Java 패키지 이름

    -outputmapping <filename>입력 WSDL에 대한 출력 JAX-RPC 매핑 파일을 지정한다.
    -compile생성된 Java 파일을 컴파일한다.
    -nokeepsrc생성된 Java 소스 파일을 유지하지 않고 삭제한다.
    -nowrappedWSDL에 대한 wrapped 모드 탐지를 사용할 수 없게 한다.
    -datahandleronlyMIME 타입에 대하여 javax.activation.DataHandler를 적용하게 한다.
    -nodatabinding모든 WSDL massage part에 대하여 javax.xml.soap.SOAPElement를 적용하게 한다.
    -soapver <VER>

    stub/tie 클래스에서 사용되는 SOAP 버전을 지정한다.

    • 11: SOAP 1.1

    • 12: SOAP 1.2

    -resolvedir <directory>원격의 WSDL 파일(스키마 파일 포함)을 접근 가능한 저장소에 저장하고자 할 때 사용한다.
    -usernameWSDL-URI에 접근하기 위한 사용자명이다.
    -passwordWSDL-URI에 접근하기 위한 패스워드이다.
    -level <LEVEL>로그 레벨을 지정한다.
    -verbose로그를 화면에 출력한다.
  • 예제

    wsdl2java는 JEUS_HOME/bin/ 디렉터리에 위치한 일반적인 스크립트 파일이다.

    wsdl2java 툴을 실행하는 예는 다음과 같다.

    $ wsdl2java -gen:client -d build/classes
    -outputmapping build/classes/web/WEB-INF/jaxrpcmapping.xml
    -compile http://localhost:8088/AddNumbers/addnumbers?wsdl

    위의 명령어는 원격의 "http://localhost:8088/AddNumbers/addnumbers?wsdl" WSDL 문서를 통해 웹 서비스 클라이언트를 위한 Stub 및 서비스 인터페이스들을 생성한다.

    여기에서 Stub 및 서비스 인터페이스들은 "build/classes" 디렉터리에 생성되며 JAX-RPC 매핑 파일은 "build/classes/web/WEB-INF"에 생성된다. [-compile] 옵션으로 생성되는 Stub 및 서비스 인터페이스들은 컴파일이 된다.

4.13. wsdl2uddi

WSDL은 추상적인 인터페이스와 임의의 네트워크 서비스의 프로토콜 바인딩들을 제공함으로써 UDDI 표준을 보완할 수 있다. JEUS UDDI WSDL Publishing은 WSDL2UDDI을 제공한다. wsdl2uddi 툴은 웹 서비스의 WSDL 파일로부터 UDDI에 Publish할 수 있다.

다음은 툴 사용법, 파라미터 및 예제에 대한 설명이다.

  • 사용법

    Usage: wsdl2uddi UDDIVersion WSDLURI [wsdl-options] 
                    -uddiInquiry <UDDIInquiryURI> -uddiPublish <UDDIPublish> 
                      -uddiUsername <UDDIUsername> -uddiPassword <UDDIPassword> [options]
    
    * wsdl-options
        -wsdlUsername          username to access the WSDL-URI
        -wsdlPassword          password to access the WSDL-URI
    
    * options
        -level <LEVEL>         specify log level.
                               LEVEL : SEVERE, WARNING, INFO, FINE, FINER,FINEST
        -verbose               same as -level FINE
  • 파라미터

    파라미터설명
    UDDIVersionUDDI의 버전을 설정한다. 입력값은 v2 또는 v3이다.
    WSDLURI실제 WSDL이 존재하는 곳의 URI 값이다.
    -uddiInquiry <UDDIInquiryURI>실제 UDDI의 Inquiry URI 값을 지정한다.
    -uddiPublish <UDDIPublish>실제 UDDI의 publish URI 값을 지정한다.
    -uddiUsername <UDDIUsername>UDDI에 접근할 때 필요한 사용자명을 설정한다.
    -uddiPassword <UDDIPassword>UDDI에 접근할 때 필요한 패스워드를 설정한다.
    -wsdlUsernameWSDL URL에 접근할 때 필요한 사용자명을 설정한다.
    -wsdlPasswordWSDL URL에 접근할 때 필요한 패스워드를 설정한다.
    -level <LEVEL>로그 레벨을 지정할 경우 사용한다.
    -verbose로그 레벨 'FINE'과 같다.
  • 예제

    wsdl2uddi는 JEUS_HOME/bin/ 디렉터리에 위치한 일반적인 스크립트 파일이다.

    wsdl2uddi 툴을 실행하는 예는 다음과 같다.

    $ wsdl2uddi v3 http://localhost:8088/AddNumbers/addnumbers?wsdl
    -uddiInquiry http://localhost:8088/uddi/inquiry
    -uddiPublish http://localhost:8088/uddi/publish
    -uddiUsername jeus
    -uddiPassword jeus
    -verbose

    위의 명령어는 원격의 "http://localhost:8088/AddNumbers/addnumbers?wsdl" WSDL 문서를 통해 UDDI에 Publish한다. 여기에서 UDDI의 Inquiry 및 Publish URI와 사용자명, 패스워드를 각각 지정해줄 수 있다.

4.14. xjc

xjc 툴은 XML 스키마 파일을 Java 프로그래밍 언어로 된 JAXB Content 클래스들로 변환한다.

다음은 툴 사용법, 파라미터 및 예제에 대한 설명이다.

  • 사용법

    Usage: xjc [-options ...] <schema file/URL/dir/jar> ... [-b <bindinfo>] ...
    If dir is specified, all schema files in it will be compiled.
    If jar is specified, /META-INF/sun-jaxb.episode binding file will be compiled.
    Options:
      -nv                :  do not perform strict validation of the input schema(s)
      -extension         :  allow vendor extensions - do not strictly follow the
                            Compatibility Rules and App E.2 from the JAXB Spec
      -b <file/dir>      :  specify external bindings files 
                            (each <file> must have its own -b)
                            If a directory is given, **/*.xjb is searched
      -d <dir>           :  generated files will go into this directory
      -p <pkg>           :  specifies the target package
      -httpproxy <proxy> :  set HTTP/HTTPS proxy. Format is 
                            [user[:password]@]proxyHost:proxyPort
      -httpproxyfile <f> :  Works like -httpproxy but takes the argument in a file 
                            to protect password
      -classpath <arg>   :  specify where to find user class files
      -catalog <file>    :  specify catalog files to resolve external entity 
                            references support TR9401, XCatalog, 
                            and OASIS XML Catalog format.
      -readOnly          :  generated files will be in read-only mode
      -npa               :  suppress generation of package level annotations 
                            (**/package-info.java)
      -no-header         :  suppress generation of a file header with timestamp
      -target 2.0        :  behave like XJC 2.0 and generate code that doesnt use any 
                            2.1 features.
      -xmlschema         :  treat input as W3C XML Schema (default)
      -relaxng           :  treat input as RELAX NG (experimental,unsupported)
      -relaxng-compact   :  treat input as RELAX NG compact syntax 
                            (experimental,unsupported)
      -dtd               :  treat input as XML DTD (experimental,unsupported)
      -wsdl              :  treat input as WSDL and compile schemas inside it 
                            (experimental,unsupported)
      -verbose           :  be extra verbose
      -quiet             :  suppress compiler output
      -help              :  display this help message
      -version           :  display version information
    
    Extensions:
      -Xlocator          :  enable source location support for generated code
      -Xsync-methods     :  generate accessor methods with the 'synchronized' keyword
      -mark-generated    :  mark the generated code as @javax.annotation.Generated
      -episode <FILE>    :  generate the episode file for separate compilation 
  • 파라미터

    파라미터설명
    -nv스키마 유효성 검사를 할지 여부를 설정한다. (true | false)
    -extension

    XJC 바인딩 컴파일러는 확장 모드로 실행할지 여부를 설정한다.

    (true | false, 기본값: false)

    -b <file/dir>처리할 하나 이상의 외부 바인딩 파일들을 설정한다.
    -d <dir>XJC 바인딩 컴파일러는 기본값으로 현재 디렉터리에 Java Content 클래스들을 생성한다. 이 옵션을 사용하면 다른 디렉터리에 클래스들을 생성할 수 있다.
    -p <pkg>이곳에 명시한 Target 패키지 이름은 어떤 다른 Customization도 Overwrite한다.
    -httpproxy <proxy>HTTP/HTTPS 프록시를 설정한다.
    -httpproxyfile <f>-httpproxy 옵션과 유사하지만 암호를 보호하기 위해 파일에서 인수를 사용한다.
    -classpath <arg><jxb:javaType>와 <xjc:superClass> Customization에 등록된 클라이언트 애플리케이션 클래스들을 찾을 곳을 설정한다.
    -catalog <file>TR9401, XCatalog, OASIS XML Catalog 포맷에 관한 외부 카탈로그 파일을 설정한다.
    -readOnlytrue일 경우에 Java 소스 파일들은 읽기 가능 모드이다. (기본값: false)
    -npapackage-info.java라는 파일에 패키지 수준의 Annotation 생성을 요약한다.
    -no-header시간 소인이 있는 파일 헤더 생성을 억제하도록 지정한다.
    -target (2.0|2.1)XJC 2.0 또는 2.1과 같이 행동하고, 2.2 기능을 사용하지 않는 코드를 생성한다.
    -xmlschema

    입력은 W3C XML 스키마로 처리하도록 지정한다.

    -relaxng, -relaxng-compact, -dtd, -wsdl와 -xmlschema의 5개 중에 -xmlschema이 기본값이다.

    -relaxng입력을 RELAX NG로 처리하도록 지정한다.
    -relaxng-compact입력을 RELAX NG의 간단한 구문으로 처리하도록 지정한다.
    -dtdXML DTD 파일을 컴파일러의 입력 스키마로 사용한다.
    -wsdlWSDL 파일을 입력하여 그 안에 사용되고 있는 스키마 파일들을 컴파일한다.
    -verboseVerbose 메시지를 출력한다.
    -quiet진행 정보 또는 경고 메시지와 같은 컴파일러 Output 메시지들을 보여주지 않는다.
    -help컴파일러 사용법을 출력한다.
    -version컴파일러 버전을 출력한다.
  • 예제

    xjc는 JEUS_HOME/bin/ 디렉터리에 위치한 일반적인 스크립트 파일이다.

    xjc 툴을 실행하는 예는 다음과 같다.

    $ xjc -d build/classes -p com.tmaxsoft src/conf/ts.xsd

    위의 명령어는 ts.xsd 스키마 파일로부터 패키지명이 "com.tmaxsoft"인 컴파일된 Java 클래스 파일들을 "build/classes"에 생성한다.