제4장 콘솔 툴

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

4.1. 개요

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

4.2. jeusadmin

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

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

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

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

4.2.1. 기동 및 종료 명령어

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

명령어설명

jeusadmin

jeusadmin을 실행한다.

exit

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

4.2.1.1. jeusadmin

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

  • 사용법

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

    파라미터설명

    [-u, --username <user-name>]

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

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

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

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

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

    [-f <file-name>]

    접속할 때 사용할 사용자 이름과 비밀번호를 담은 파일을 지정한다.

    [-cachelogin]

    특정 도메인(또는 기본 도메인)에 접속할 때 사용했던 사용자 이름과 비밀번호를 기록한다.

    [-d, --domain <domain-name>]

    접속하고자하는 도메인의 이름 지정한다.

    [-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)이어야 한다.

    [-i,--ignore]

    Script 모드에서 JEUS 커맨드 예외 발생 시 스크립트를 중단하지 않고, 계속 스크립트를 실행할 수 있는 옵션이다. 이 옵션은 Script 모드에서만 사용가능하다.

  • 예제

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

    • jeusadmin 실행

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

      JEUS_HOME/bin$jeusadmin
      JEUS 21 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 JEUS Master Server [adminServer] in the domain [domain1].
      JEUS 21 Administration Tool
      To view help, use the 'help' command.
      [MASTER]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 JEUS Master Server [adminServer] in the domain [domain1].
      JEUS 21 Administration Tool
      To view help, use the 'help' command.
      [MASTER]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" -Xmx128m -classpath "${BOOTSTRAP_CLASSPATH}" ${TOOL_OPTION}
          -Djmx.remote.x.request.timeout=600000
          -Djeus.home="${JEUS_HOME}"
          -Djeus.tool.console.useJLine="false"
          -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
  • 예제

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

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

4.2.2. Local 명령어

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

명령어설명

connect

JEUS Master Server나 Managed Server에 접속을 시도한다.

disconnect

접속을 끊고 Off-line 상태로 돌아간다.

help

명령어에 대한 도움말을 출력한다.

history

입력했던 명령어들에 대한 기록을 출력한다.

p

입력했던 명령어들 중 하나를 골라 실행한다. 옵션을 주지 않고 실행하는 경우 직전에 실행했던 명령어를 다시 실행한다.

remove-login-cache

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

set-server-option

server 옵션에 대한 기본값을 설정한다.

set-servers-option

servers 옵션에 대한 기본값을 설정한다.

start-record

입력하는 명령어들을 스크립트 형태로 저장하는 레코딩 기능을 시작한다.

stop-record

레코딩 기능을 중지한다.

unset-server-option

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

unset-servers-option

set-servers-option으로 설정한 기본값을 삭제한다.

verbose

명령어를 수행할 때 상세 출력 모드를 켜거나 끈다.

4.2.2.1. connect

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

  • alias

    login

  • 사용법

    connect [-u,--username <user-name>]
            [-p,--password <password>]
            [-f <file-name>]
            [-cachelogin]
            [-h,--host <server-address>]
            [-port <server port>]
            [-d,--domain <domain name>]
  • 파라미터

    파라미터설명

    [-u, --username <user-name>]

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

    [-p, --password <password>]

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

    [-f <file-name>]

    접속할 때 사용할 사용자 이름과 비밀번호를 저장한 파일을 지정한다.

    [-cachelogin]

    접속할 때 사용한 사용자 이름과 비밀번호를 파일에 기록한다.

    [-h, --host <server-address>]

    접속할 서버의 주소를 지정한다. 아무 것도 입력하지 않으면 localhost로 접속을 시도한다.

    [-port <server-port>

    접속할 서버의 포트를 지정한다. 별도로 지정하지 않는 경우 물어보지 않고 기본값을 사용한다. (기본값: 9736)

    [-d, --domain <domain name>

    도메인 이름을 지정한다. security.key 파일을 찾기 위해 사용된다.

  • 예제

    • [-u] 옵션과 [-p] 옵션을 주고, [-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 JEUS Master Server [adminServer] in the domain [domain1].
      [MASTER]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 JEUS Master Server [adminServer] in the domain [domain1].
      [MASTER]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 JEUS Master Server [adminServer] in the domain [domain1].
    
    [MASTER]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
      
      [Domain Configuration]_____________________________________________________
        apply-configuration-plan            create-domain
        delete-domain                       list-domains
        pack-domain                         unpack-domain
      
      [Application]______________________________________________________________
        install-application                 install-deployment-plan
        redeploy-application
      
      [Library]__________________________________________________________________
        install-library
      
      [Web]______________________________________________________________________
        precompile-jsp
      
      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.
      
        ......
      
      
      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.
      
      To show detailed information for a command, use 'help [COMMAND_NAME]'.
      ex) help connect
      offline>
    • [<command-name>] 옵션을 사용해 특정 명령어에 대한 도움말을 조회하는 경우

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

      [MASTER]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>]
              [-http,--httpport <http-port>]
              [-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
      
          [-http,--httpport <http-port>]
              http listen port 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 JEUS Master Server [adminServer] in the domain [domain1].
    [MASTER]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 <file-name>]
  • 파라미터

    파라미터설명

    [-domain <domain-name>]

    로그인 정보를 저장할 때 사용했던 도메인 이름을 지정한다.

    [-u <user-name>]

    로그인 정보를 저장할 때 사용했던 사용자 이름을 지정한다.

    [-f <file-name>]

    사용자 이름과 비밀번호가 저장된 비밀번호 파일 이름을 지정한다.

  • 예제

    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 명령어가 동작함을 확인할 수 있다.

    [MASTER]domain1.adminServer>jndi-info
    The following options are missing: server
    
    [MASTER]domain1.adminServer>set-server-option
    The default server name is not set.
    
    [MASTER]domain1.adminServer>set-server-option adminServer
    The default server name has been set: adminServer.
    
    [MASTER]domain1.adminServer>set-server-option
    The current default server name: adminServer.
    
    [MASTER]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                        |               |
        ......
    
    [MASTER]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 명령어를 통해 지정한 서버 애플리케이션을 배포하는 예제이다.

    [MASTER]domain1.adminServer>set-servers-option
    The default server list is not set.
    
    [MASTER]domain1.adminServer>set-servers-option adminServer,server1
    The default server list has been set: adminServer,server1.
    
    [MASTER]domain1.adminServer>set-servers-option
    The current default server list: adminServer,server1.
    
    [MASTER]domain1.adminServer>deploy sample
    deploy the application for the application [sample] succeeded.
    
    [MASTER]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 옵션이 필요하다는 오류가 발생하는 것을 확인할 수 있다.

    [MASTER]domain1.adminServer>set-server-option
    The current default server name: adminServer.
    
    [MASTER]domain1.adminServer>unset-server-option
    The default server name has been unset.
    
    [MASTER]domain1.adminServer>set-server-option
    The default server name is not set.
    
    [MASTER]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
  • 예제

    [MASTER]domain1.adminServer>set-servers-option
    The current default server list: adminServer,server1.
    
    [MASTER]domain1.adminServer>unset-servers-option
    The default server list has been unset.
    
    [MASTER]domain1.adminServer>set-servers-option
    The default server list is not set.
    
    [MASTER]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-invocation

특정 Lifecycle Invocation에 Invocation을 추가한다.

add-invocation-library

특정 Lifecycle Invocation에 Library Ref를 추가한다.

add-jvm-option

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

add-lifecycle-invocation

특정 서버 혹은 클러스터에 Lifecycle Invocation을 추가한다.

add-listener

특정 서버에 리스너를 추가한다.

add-log-handler

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

add-logger

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

config-listener-ssl

Listener의 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 컨텍스트에 바인드되어 있는 객체의 바인딩(이름) 목록을 확인한다.

lifecycle-invocation-info

특정 Lifecycle Invocation의 정보를 조회한다.

list-jvm-options

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

list-lifecycle-invocations

특정 서버 혹은 클러스터의 Lifecycle Invocation을 조회한다.

list-log-handlers

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

list-loggers

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

list-server-listeners

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

local-shutdown

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

log-level

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

mbean-info

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

memory-info

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

modify-invocation

특정 Lifecycle Invocation의 Invocation을 수정한다.

modify-invocation-library

특정 Lifecycle Invocation의 Library Ref를 수정한다.

modify-jvm-option

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

modify-lifecycle-invocation

특정 서버 혹은 클러스터의 Lifecycle Invocation을 수정한다.

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-invocation

특정 Lifecycle Invocation의 Invocation을 제거한다.

remove-invocation-library

특정 Lifecycle Invocation의 Library Ref를 제거한다.

remove-jvm-option

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

remove-lifecycle-invocation

특정 서버 혹은 클러스터의 Lifecycle Invocation을 제거한다.

remove-listener

특정 서버에 있는 리스너를 삭제한다.

remove-log-handler

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

remove-logger

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

remove-replicate-group

동적으로 특정 서버 또는 서버 템플릿에 지정한 Replicate Group을 삭제한다.

resume-server

일시 정지된 특정 서버를 다시 서비스되도록 한다.

run-garbage-collection

특정 서버 또는 특정 클러스터에 속한 서버들에 full gc를 수행한다.

server-info

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

server-log

특정 서버의 로그를 command에서 확인한다.

set-replicate-group

동적으로 특정 서버 또는 서버 템플릿에 Replicate Group을 지정한다.

show-replicate-group

서버 또는 서버 템플릿의 Replicate Group을 확인한다.

show-current-scf-view

현재 SCF View를 모니터링한다.

start-server

특정 MS를 시작한다.

stop-cluster

특정 클러스터에 속한 Managed Server들을 종료한다. 클러스터 내에 JEUS Master Server가 포함된 경우 JEUS Master Server는 대상에서 제외한다. JEUS Master Server-Managed Server 구조에서만 수행가능한 명령어이다.

stop-domain

현재 도메인에 속한 Managed Server들을 종료한다. JEUS Master Server-Managed Server 구조에서만 수행가능한 명령어이다.

stop-server

특정 Managed Server를 종료한다.

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]

    동적 변경 결과에 대한 상세한 정보가 출력된다.

  • 예제

    [MASTER]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]

    동적 변경 결과에 대한 상세한 정보가 출력된다.

  • 예제

    [MASTER]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]

    동적 변경 결과에 대한 상세한 정보가 출력된다.

  • 예제

    [MASTER]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-invocation

특정 Lifecycle Invocation에 Invocation을 추가한다.

  • alias

    addinvo, addinvocation

  • 사용법

    add-invocation <method>
                   -type <invocation-type>
                   [-params <method-params>]
                   [-args <invocation-argument>]
                   -class <class>
                   -s,--server <server> | -c,--cluster <cluster>
                   [-f,--forceLock]
                   [-detail]
  • 파라미터

    파라미터설명

    <method>

    추가할 Invocation의 메서드 이름이다.

    -type <invocation-type>

    Invocation의 타입(메서드 호출 시점)을 지정한다.

    다음 중 하나를 지정할 수 있다.

    • BOOT

    • BEFORE_DEPLOY

    • AFTER_DEPLOY

    • READY

    • BEFORE_UNDEPLOY

    • AFTER_UNDEPLOY

    타입에 대한 자세한 내용은 JEUS Server 안내서”의 “2.3.5. Lifecycle Invocation 설정”의 Invocation Type을 참고한다.

    [-params <method-params>]

    메서드 파라미터의 Fully Qualified Class Name을 지정한다. 매개 변수가 여럿 있을 경우 공백으로 구분한다.

    (설정값 예시: -params java.lang.String boolean)

    [-args <invocation-argument>]

    메서드를 호출할 때 사용하는 Argument를 지정한다. 인자가 여러 개 있을 경우 공백으로 구분한다. 만약 공백이 포함된 값을 인자로 해야할 경우 큰따옴표로 묶어 사용하면 된다.

    (설정값 예시: -args "tmaxsoft jeus" "hello world")

    -class <class>

    Invocation이 추가될 Lifecycle Invocation의 클래스 이름을 지정한다.

    -s,--server <server> | -c,--cluster <cluster>

    Lifecycle Invocation가 위치한 서버 혹은 클러스터의 이름을 지정한다.

    [-f,--forceLock]

    설정 변경을 강제로 진행하여 반영한다.

    [-detail]

    설정 변경 결과에 대한 상세한 정보가 출력된다.

  • 예제

    [MASTER]domain1.adminServer>add-invocation methodName -type BOOT -class invo.invoTestClass -s server1 -params java.lang.String boolean -args "invocation test" true
    Successfully performed the ADD operation for Invocation [methodName](Invocation ID = 0),
    but all changes were non-dynamic. They will be applied after restarting.
    Check the results using "list-lifecycle-invocations or lifecycle-invocation-info".

4.2.3.5. add-invocation-library

특정 Lifecycle Invocation에 Library Ref를 추가한다.

  • alias

    addinvolib, addinvocationlibrary

  • 사용법

    add-invocation-library <library>
                           -specVer <version>
                           [-specMatch <true | false>]
                           -implVer <version>
                           [-implMatch <true | false>]
                           [-fail,--failOnError <true | false>]
                           -class <class>
                           -s,--server <server> | -c,--cluster <cluster>
                           [-f,--forceLock]
                           [-detail]
  • 파라미터

    파라미터설명

    <library>

    추가할 Library Ref의 라이브러리 이름이다.

    -specVer <version>

    추가할 라이브러리의 Specification Version을 지정한다.

    [-specMatch <true | false>]

    Specification Version이 정확히 일치해야 하는지 여부를 지정한다. (기본값: false)

    -implVer <version>

    추가할 라이브러리의 Implementation Version을 지정한다.

    [-implMatch <true | false>]

    Implementation Version이 정확히 일치해야 하는지 여부를 지정한다. (기본값: false)

    [-fail,--failOnError <true | false>]

    해당 Shared Library를 찾지 못할 경우 Deploy를 실패할지 여부를 설정한다. (기본값: false)

    -class <class>

    Library Ref가 추가될 Lifecycle Invocation의 클래스 이름을 지정한다.

    -s,--server <server> | -c,--cluster <cluster>

    Lifecycle Invocation가 위치한 서버 혹은 클러스터의 이름을 지정한다.

    [-f,--forceLock]

    설정 변경을 강제로 진행하여 반영한다.

    [-detail]

    설정 변경 결과에 대한 상세한 정보가 출력된다.

  • 예제

    [MASTER]domain1.adminServer>add-invocation-library libName -specVer 1 -implVer 1 -class invo.invoTestClass -s server1
    Successfully performed the ADD operation for Invocation Library [libName], but all changes were non-dynamic.
    They will be applied after restarting.
    Check the results using "list-lifecycle-invocations or lifecycle-invocation-info".

4.2.3.6. 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]

    설정 변경 결과에 대한 상세한 정보가 출력된다.

  • 예제

    [MASTER]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.7. add-lifecycle-invocation

특정 서버 혹은 클러스터에 Lifecycle Invocation을 추가한다.

  • alias

    addlifeinvo, addlifecycleinvocation

  • 사용법

    add-lifecycle-invocation <class>
                             -s,--server <server> | -c,--cluster <cluster>
                             [-m,--method <invocation-method>]
                             [-type <invocation-type>]
                             [-params <method-params>]
                             [-args <invocation-argument>]
                             [-f,--forceLock]
                             [-detail]
  • 파라미터

    파라미터설명

    <class>

    추가할 Lifecycle Invocation의 클래스 이름이다.

    -s,--server <server> | -c,--cluster <cluster>

    Lifecycle Invocation을 추가할 서버 혹은 클러스터의 이름을 지정한다.

    [-m,--method <invocation-method>]

    [Invocation 옵션] Lifecycle Invocation을 추가하면서 Invocation을 함께 추가하려면 Invocation의 메서드 이름을 지정한다. Invocation을 추가하려면 Invocation Type이 필수이므로, [Invocation 옵션] 중 -type 옵션을 함께 필수로 지정해야 한다.

    [-type <invocation-type>]

    [Invocation 옵션] Invocation의 타입(메서드 호출 시점)을 지정한다. Lifecycle Invocation을 추가하면서 Invocation을 함께 추가할 경우 [Invocation 옵션] 중 -m,--method 옵션과 함께 필수로 지정해야 한다.

    다음 중 하나를 지정할 수 있다.

    • BOOT

    • BEFORE_DEPLOY

    • AFTER_DEPLOY

    • READY

    • BEFORE_UNDEPLOY

    • AFTER_UNDEPLOY

    타입에 대한 자세한 내용은 JEUS Server 안내서”의 “2.3.5. Lifecycle Invocation 설정”의 Invocation Type을 참고한다.

    [-params <method-params>]

    [Invocation 옵션] 메서드 파라미터의 Fully Qualified Class Name을 지정한다. 매개 변수가 여러 개인 경우 공백으로 구분한다.

    (설정값 예시: -params java.lang.String boolean)

    [-args <invocation-argument>]

    [Invocation 옵션] 메서드를 호출할 때 사용하는 Argument를 지정한다. 인자가 여러 개인 경우 공백으로 구분한다. 만약 공백이 포함된 값을 인자로 해야 할 경우 큰따옴표로 묶어 사용하면 된다.

    (설정값 예시: -args "tmaxsoft jeus" "hello world")

    [-f,--forceLock]

    설정 변경을 강제로 진행하여 반영한다.

    [-detail]

    설정 변경 결과에 대한 상세한 정보가 출력된다.

  • 예제

    [MASTER]domain1.adminServer>add-lifecycle-invocation sampleClass1 -s server1
    Successfully performed the ADD operation for Lifecycle Invocation Class [sampleClass1],
    but all changes were non-dynamic. They will be applied after restarting.
    Check the results using "list-lifecycle-invocations".
    
    [MASTER]domain1.adminServer>add-lifecycle-invocation sampleClass2 -s server1 -m methodName -type BOOT
    Successfully performed the ADD operation for Lifecycle Invocation Class [sampleClass2] and Invocation
    [methodName](Invocation ID = 0), but all changes were non-dynamic. They will be applied after restarting.
    Check the results using "list-lifecycle-invocations".

4.2.3.8. 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을 강제로 취한다.

  • 예제

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

4.2.3.9. 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 <true | false>]
                    [-count <rotation-count>]
                    [-dir <rotation-dir>]
                    [-buffer <buffer-size>]
                    [-append <true | false>]
                    [-hour <hour> | -day <day> | -size <size>]
                    [-f,--forceLock]
                    [-detail]
                    [-permission <permission>]
                    [-chown <chown>]
  • 파라미터

    파라미터설명

    -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 <true | false>]

    파일 로테이션을 가능하게 할지 여부이다. (기본값: true)

    [-count <rotation-count>]

    백업하는 로그 파일의 최대 개수이다.

    [-dir <rotation-dir>]

    백업하는 로그 파일이 위치하는 디렉터리 경로이다.

    [-buffer <buffer-size>]

    로그 메시지를 파일에 기록할 때의 버퍼 사이즈이다.

    [-append <true | false>]

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

    (true | false, 기본값: true)

    [-hour <hour>]

    입력된 시간마다 새로운 로그 파일을 작성한다.

    [-day <day>]

    입력된 날마다 새로운 로그 파일을 작성한다.

    [-size <size>]

    입력된 사이즈에 따라 새로운 로그 파일을 작성한다.

    [-f,--forceLock]

    설정 변경을 강제로 진행하여 반영한다.

    [-detail]

    동적 변경 결과에 대한 상세한 정보가 출력된다.

    [-permission <permission>]

    입력된 퍼미션으로 로그파일을 설정한다. (설정값 예시: rwxrwxrwx)

    [-chown <chown>]

    입력된 소유자로 로그파일을 설정한다. owner와 group은 콤마(,)로 구분한다. (설정값 예시: owner-id,group-id)

  • 예제

    [MASTER]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.10. add-logger

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

  • alias

    addlogger

  • 사용법

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

    파라미터설명

    -server <server-name>

    서버의 이름이다.

    [<logger-name>]

    서버에 추가할 로거의 이름이다.

    [-level <log-level>]

    [동적 변경] 로거의 로그 레벨이다.

    [-useParentHandlers <true | false>]

    [동적 변경] 상위 로거의 핸들러를 사용할지 여부이다. (true | false)

    [-filter <filter-class>]

    출력되는 로그 메시지의 필터 클래스 이름이다.

    [-formatter <formatter-class>]

    로거에 적용할 Formatter의 클래스 이름이다.

    [-f,--forceLock]

    설정 변경을 강제로 진행하여 반영한다.

    [-detail]

    동적 변경 결과에 대한 상세한 정보가 출력된다.

  • 예제

    [MASTER]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.11. config-listener-ssl

Listener의 SSL을 설정한다.

  • alias

    configssl

  • 사용법

    config-listener-ssl -server <server-name>
                    -name <listener-name>
                    -set | -del | -show
                    [-need | -want | -noauth,--unnecessary]
                    [-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>

    리스너의 이름이다.

    -set | -del | -show

    지정한 리스너의 SSL 관련 내용을 설정할 것인지 해제할 것인지 설정 상태를 보여줄 것인지 선택한다.

    [-need | -want | -noauth,--unnecessary]

    클라이언트 인증 방식을 선택한다.

    [-p,--protocol <protocol>]

    지정한 리스너에서 사용할 SSL 프로토콜의 종류를 선택한다.

    [-cs,--cipherSuite <cipher-suites>]

    지정한 리스너에서 사용할 암호화 방식을 선택한다.

    [-ks,--keystore <keystore-file>]

    지정한 리스너에서 사용할 서버 비밀키와 그에 매칭되는 인증서를 저장한 파일을 지정한다.

    [-kp,--keystorePass <keystore-pass>]

    지정한 keystore 파일을 열기 위한 암호값이다.

    [-kkp,--keystoreKeypass <keystore-keypass>]

    지정한 keystore 파일에 저장된 서버 비밀키에 대한 암호값이다.

    [-kt,--keystoreType <keystore-type>]

    지정한 keystore의 타입이다.

    [-kma,--keyManagementAlgorithm <key-management-algorithm>]

    keystore에 저장된 key의 관리 알고리듬이다.

    [-alias,--keyAlias <key-alias>]

    인증서의 Key Alias이다.

    [-ts,--truststore <truststore-file>]

    서버 인증서를 저장하고 있는 파일을 지정한다.

    [-tp,--truststorePass <truststore-pass>]

    지정한 truststore 파일을 열기 위한 암호값이다.

    [-tt,--truststoreType <truststore-type>]

    지정한 truststore의 타입이다.

    [-tma,--trustManagementAlgorithm <trust-management-algorithm>]

    truststore에 저장된 key의 관리 알고리듬이다.

    [-crl <crl-file>]

    Certificate Revocation Lists를 저장하고 있는 파일을 지정한다.

    [-f,--forceLock]

    설정 변경을 강제로 진행하여 반영한다.

  • 예제

    [MASTER]domain1.adminServer>config-listener-ssl -server server1 -name Test -set
    Executed successfully, but some configurations were not applied dynamically. It might be necessary to restart the server.

4.2.3.12. disable-engine-init-on-boot

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

  • 관련 스키마

    jeus-domain.xsd

  • alias

    lazyengine

  • 사용법

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

    파라미터설명

    <server-list>

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

    [-f,--forceLock]

    설정 변경을 강제로 진행하여 반영한다.

  • 예제

    [MASTER]domain1.adminServer>disable-engine-init-on-boot adminServer,server1
    EngineInitOnBoot was successfully disabled.
    Applying configuration ...
    ================================================================================
    +------------------------------------------------------------------------------+
    |                                    Result                                    |
    +------------------------------------------------------------------------------+
    | Successfully changed only the JEUS Domain Configuration.                     |
    | Restart the server to apply the changes.                                     |
    +------------------------------------------------------------------------------+
    ================================================================================

4.2.3.13. disable-engines

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

  • 관련 스키마

    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]

    설정 변경을 강제로 진행하여 반영한다.

  • 예제

    [MASTER]domain1.adminServer>disable-engines adminServer -all
    [adminServer]
    Change Engine to Disabled: Web EJB JMS
    
    Applying configuration ...
    ================================================================================
    +------------------------------------------------------------------------------+
    |                                    Result                                    |
    +------------------------------------------------------------------------------+
    | Successfully changed only the JEUS Domain Configuration.                     |
    | Restart the server to apply the changes.                                     |
    +------------------------------------------------------------------------------+
    ================================================================================
    ...
    
    [MASTER]domain1.adminServer>disable-engines server1 -all
    [server1]
    Change Engine to Disabled: Web EJB JMS
    
    Applying configuration ...
    ================================================================================
    +------------------------------------------------------------------------------+
    |                                    Result                                    |
    +------------------------------------------------------------------------------+
    | Successfully changed only the JEUS Domain Configuration.                     |
    | Restart the server to apply the changes.                                     |
    +------------------------------------------------------------------------------+
    ================================================================================
    ...
    [MASTER]domain1.adminServer>disable-engines server2 -web -ejb
    [server2]
    Change Engine to Disabled: Web EJB
    
    Applying configuration ...
    ================================================================================
    +------------------------------------------------------------------------------+
    |                                    Result                                    |
    +------------------------------------------------------------------------------+
    | Successfully changed only the JEUS Domain Configuration.                     |
    | Restart the server to apply the changes.                                     |
    +------------------------------------------------------------------------------+
    ================================================================================
    ...

4.2.3.14. dump

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

  • 사용법

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

    파라미터설명

    [-clusters <cluster-list>]

    클러스터의 이름이다. 클러스터가 한 개 이상인 경우는 콤마(,)로 구분한다.

    [-servers <server-list>]

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

  • 예제

    [MASTER]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.15. enable-engine-init-on-boot

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

  • 관련 스키마

    jeus-domain.xsd

  • alias

    eagerengine

  • 사용법

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

    파라미터설명

    <server-list>

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

    [-f,--forceLock]

    설정 변경을 강제로 진행하여 반영한다.

  • 예제

    [MASTER]domain1.adminServer>enable-engine-init-on-boot adminServer
    EngineInitOnBoot was successfully enabled.
    Applying configuration ...
    ================================================================================
    +------------------------------------------------------------------------------+
    |                                    Result                                    |
    +------------------------------------------------------------------------------+
    | Successfully changed only the JEUS Domain Configuration.                     |
    | Restart the server to apply the changes.                                     |
    +------------------------------------------------------------------------------+
    ================================================================================

4.2.3.16. enable-engines

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

  • 관련 스키마

    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]

    설정 변경을 강제로 진행하여 반영한다.

  • 예제

    [MASTER]domain1.adminServer>enable-engines adminServer -all
    [adminServer]
    Change Engine to Enabled: Web EJB JMS
    
    Applying configuration ...
    ================================================================================
    +------------------------------------------------------------------------------+
    |                                    Result                                    |
    +------------------------------------------------------------------------------+
    | Successfully changed only the JEUS Domain Configuration.                     |
    | Restart the server to apply the changes.                                     |
    +------------------------------------------------------------------------------+
    ================================================================================
    ...
    
    [MASTER]domain1.adminServer>enable-engines server1 -all
    [server1]
    Change Engine to Enabled: Web EJB JMS
    
    Applying configuration ...
    ================================================================================
    +------------------------------------------------------------------------------+
    |                                    Result                                    |
    +------------------------------------------------------------------------------+
    | Successfully changed only the JEUS Domain Configuration.                     |
    | Restart the server to apply the changes.                                     |
    +------------------------------------------------------------------------------+
    ================================================================================
    ...
    
    [MASTER]domain1.adminServer>enable-engines server2 -web -ejb
    [server2]
    Change Engine to Enabled: Web EJB
    
    Applying configuration ...
    ================================================================================
    +------------------------------------------------------------------------------+
    |                                    Result                                    |
    +------------------------------------------------------------------------------+
    | Successfully changed only the JEUS Domain Configuration.                     |
    | Restart the server to apply the changes.                                     |
    +------------------------------------------------------------------------------+
    ================================================================================
    ...

4.2.3.17. jndi-info

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

  • alias

    jndiinfo, jndilist

  • 사용법

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

    파라미터설명

    -server <server-name>

    서버의 이름이다.

    [<context-name>]

    JNDI 컨텍스트의 이름이다.

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

  • 예제

    • context

      [MASTER]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         |
      +------------+-------------------------------------------------+---------------+
      ================================================================================
      
      [MASTER]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

      [MASTER]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.18. lifecycle-invocation-info

특정 Lifecycle Invocation의 정보를 조회한다.

  • alias

    invoinfo, lifecycleinvocationinfo, lifeinvoinfo

  • 사용법

    lifecycle-invocation-info -s,--server <server> | -c,--cluster <cluster>
                              [-class <lifecycle-invocation-class>]
                              [-lib,--library]
                              [-invo,--invocation]
  • 파라미터

    파라미터설명

    -s,--server <server> | -c,--cluster <cluster>

    조회하고자 하는 Lifecycle Invocation이 위치한 서버 혹은 클러스터를 지정한다.

    [-class <lifecycle-invocation-class>]

    특정 Lifecycle Invocation의 Class만 조회할 경우 클래스 이름을 지정한다.

    [-lib,--library]

    Lifecycle Invocation의 Library Ref를 조회한다.

    [-invo,--invocation]

    Lifecycle Invocation의 Invocation을 조회한다.

  • 예제

    [MASTER]domain1.adminServer>lifecycle-invocation-info -s server1
    Target Name                    : server1
    Target Type                    : Server
    Lifecycle Invocation Class Name: invocation.ClassName1
    Library Ref Information:
    ================================================================================
    +--------------+-----------------------+------------------------+--------------+
    | Library Name | Specification Version | Implementation Version | Failon Error |
    |              |     (Exact match)     |      (Exact match)     |              |
    +--------------+-----------------------+------------------------+--------------+
    (No data available)
    ================================================================================
    
    Invocation Information:
    ================================================================================
    +-------------+---------------+----------------------+-----------+-------------+
    |  Invocation |   Invocation  |  Invocation Argument |   Method  |    Method   |
    |     ID      |     Type      |                      |   Name    |   Params    |
    +-------------+---------------+----------------------+-----------+-------------+
    |           0 | BOOT          |                      | bootMethod|             |
    +-------------+---------------+----------------------+-----------+-------------+
    ================================================================================

4.2.3.19. list-jvm-options

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

  • alias

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

  • 사용법

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

    파라미터설명

    <server-name>

    서버의 이름이다.

  • 예제

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

4.2.3.20. list-lifecycle-invocations

특정 서버 혹은 클러스터의 Lifecycle Invocation을 조회한다.

  • alias

    listinvo, listlifecycleinvocations, listlifeinvo

  • 사용법

    list-lifecycle-invocations [-s,--server <server> | -c,--cluster <cluster>]
  • 파라미터

    파라미터설명

    [-s,--server <server> | -c,--cluster <cluster>]

    서버 혹은 클러스터를 지정할 경우 해당 서버 혹은 클러스터의 Lifecycle Invocation만 조회한다.

  • 예제

    [MASTER]domain1.adminServer>list-lifecycle-invocations
    List of Lifecycle invocations
    ================================================================================
    +------------------+------------------------+---------------------+------------+
    |      Target      |  Lifecycle Invocation  |  Invocation Library | Invocation |
    |                  |         Class          |         Ref         |            |
    +------------------+------------------------+---------------------+------------+
    | [Server]adminSer | lifecycle.LifeCycleTes |                     | [0]boot    |
    |ver               |ter                     |                     |            |
    +------------------+------------------------+---------------------+------------+
    | [Server]server1  | invocation.ClassName1  |                     | [0]bootMet |
    |                  |                        |                     |hod         |
    +------------------+------------------------+---------------------+------------+
    | [Server]server1  | invocation.ClassName2  | libName             | [0]method1,|
    |                  |                        |                     | [1]method2 |
    +------------------+------------------------+---------------------+------------+
    ================================================================================
    Use the "lifecycle-invocation-info" command for more information about Lifecycle invocation.

4.2.3.21. list-log-handlers

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

  • alias

    listloghandlers, listhandlers, list-handlers

  • 사용법

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

    파라미터설명

    -server <server-name>

    서버의 이름이다.

    <logger-name>

    로거의 이름이다.

  • 예제

    [MASTER]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.22. list-loggers

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

  • alias

    listloggers

  • 사용법

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

    파라미터설명

    <server-name>

    서버의 이름이다.

    [-logger <logger-name>]

    로거의 이름이다.

  • 예제

    [MASTER]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.23. list-server-listeners

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

  • alias

    listener, serverlistener

  • 사용법

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

    파라미터설명

    -server <server-name>

    서버의 이름이다.

    [-name <listener-name>]

    조회할 리스너의 이름이다.

  • 예제

    [MASTER]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 |
    +--------------------------------------+---------+------+
    =========================================================
    
    [MASTER]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.24. local-shutdown

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

  • alias

    localdown, localjeusexit

  • 사용법

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

    파라미터설명

    [-f, --force]

    Graceful shutdown을 시도하지 않고 서버를 강제로 종료한다.

    [-g, --graceful]

    Graceful하게 종료할지 여부를 설정한다. 처리 중인 요청이 끝나길 무한히 기다린다.

    [-to, --shutdowntimeout <timeout>]

    Graceful하게 종료할 때 사용할 타임아웃을 설정한다. 처리 중인 요청을 입력한 시간만큼 완료되길 기다린다. <timeout>의 값으로는 1 이상의 숫자를 입력해야 한다. (단위: second)

    [-i]

    사용자의 동의를 구하지 않고 바로 서버를 종료한다.

  • 예제

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

    [MASTER]domain1.adminServer>local-shutdown
    Executing this command affects the service. Do you want to continue? (y/n)n
    [local-shutdown] has been canceled.
    [MASTER]domain1.adminServer>local-shutdown -i
    The server [adminServer] has been shut down successfully.
    offline>
  • 참고

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

4.2.3.25. log-level

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

  • alias

    loglevel

  • 사용법

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

    파라미터설명

    -server <server-name>

    서버의 이름이다.

    <logger-name>

    확인할 로거의 이름이다.

  • 예제

    [MASTER]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.26. mbean-info

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

  • alias

    mbeaninfo

  • 사용법

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

    파라미터설명

    -server <server-name>

    서버의 이름이다.

    [<object-name>]

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

    특정 Object 이름을 갖는 MBean의 목록을 조회하는 경우 사용한다. 쿼리하는 Object 이름에 대해서는 "JEUS JMX 안내서"를 참고한다.

  • 예제

    [MASTER]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.27. memory-info

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

  • alias

    memorystatus, memstatus, memoryinfo, meminfo

  • 사용법

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

    파라미터설명

    [-clusters <cluster-list>]

    클러스터의 이름이다. 클러스터가 한 개 이상인 경우는 콤마(,)로 구분한다.

    [-servers <server-list>]

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

  • 예제

    [MASTER]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.28. modify-invocation

특정 Lifecycle Invocation의 Invocation을 수정한다.

  • alias

    modinvo, modifyinvocation, modifyinvo

  • 사용법

    modify-invocation -id <invocation-id> | -m,--method <invocation-method>
                      [-mv,--rename <invocation-method>]
                      [-type <invocation-type>]
                      [-params <method-params>]
                      [-args <invocation-argument>]
                      -class <class>
                      -s,--server <server> | -c,--cluster <cluster>
                      [-f,--forceLock]
                      [-detail]
  • 파라미터

    파라미터설명

    -id <invocation-id> | -m,--method <invocation-method>

    수정할 Invocation을 ID 혹은 메서드 이름으로 지정한다. 만약 동일한 이름의 메서드가 여럿 있을 경우에는 ID로 지정해야 한다.

    [-mv,--rename <invocation-method>]

    Invocation의 메서드 이름을 변경한다.

    [-type <invocation-type>]

    Invocation의 타입(메서드 호출 시점)을 변경한다.

    다음 중에 하나를 지정할 수 있다.

    • BOOT

    • BEFORE_DEPLOY

    • AFTER_DEPLOY

    • READY

    • BEFORE_UNDEPLOY

    • AFTER_UNDEPLOY

    타입에 대한 자세한 내용은 JEUS Server 안내서”의 “2.3.5. Lifecycle Invocation 설정”의 Invocation Type을 참고한다.

    [-params <method-params>]

    메서드 파라미터의 Fully Qualified Class Name을 변경한다. 매개 변수가 여러 개인 경우 공백으로 구분한다.

    (설정값 예시: -params java.lang.String boolean)

    [-args <invocation-argument>]

    메서드를 호출할 때 사용하는 Argument를 변경한다. 인자가 여러 개인 경우 공백으로 구분한다. 만약 공백이 포함된 값을 인자로 해야할 경우 큰따옴표로 묶어 사용하면 된다.

    (설정값 예시: -args "tmaxsoft jeus" "hello world")

    -class <class>

    Invocation이 위치한 Lifecycle Invocation의 클래스 이름을 지정한다.

    -s,--server <server> | -c,--cluster <cluster>

    Lifecycle Invocation가 위치한 서버 혹은 클러스터의 이름을 지정한다.

    [-f,--forceLock]

    설정 변경을 강제로 진행하여 반영한다.

    [-detail]

    설정 변경 결과에 대한 상세한 정보가 출력된다.

  • 예제

    [MASTER]domain1.adminServer>modify-invocation -m bootMethod -mv newMethod
    -class invocation.ClassName1 -s server1
    Successfully performed the MODIFY operation for Invocation [newMethod](Invocation ID = 0), but all changes were non-dynamic. They will be applied after restarting.
    Check the results using "list-lifecycle-invocations or lifecycle-invocation-info".

4.2.3.29. modify-invocation-library

특정 Lifecycle Invocation에 Library Ref를 수정한다.

  • alias

    modinvolib, modifyinvocationlibrary, modifyinvolib

  • 사용법

    modify-invocation-library <library>
                              [-mv,--rename <invocation-library>]
                              [-specVer <version>]
                              [-specMatch <true | false>]
                              [-implVer <version>]
                              [-implMatch <true | false>]
                              [-fail,--failOnError <true | false>]
                              -class <class>
                              -s,--server <server> | -c,--cluster <cluster>
                              [-f,--forceLock]
                              [-detail]
  • 파라미터

    파라미터설명

    <library>

    수정할 Library Ref의 라이브러리 이름이다.

    [-mv,--rename <invocation-library>]

    Library Ref의 라이브러리 이름을 변경한다.

    [-specVer <version>]

    해당 라이브러리의 Specification Version을 수정한다.

    [-specMatch <true | false>]

    Specification Version이 정확히 일치해야하는지 여부 설정을 수정한다.

    [-implVer <version>]

    해당 라이브러리의 Implementation Version을 수정한다.

    [-implMatch <true | false>]

    Implementation Version이 정확히 일치해야하는지 여부 설정을 수정한다.

    [-fail,--failOnError <true | false>]

    해당 Shared Library를 찾지 못할 경우 Deploy를 실패할지 여부 설정을 수정한다.

    -class <class>

    Library Ref가 위치한 Lifecycle Invocation의 클래스 이름을 지정한다.

    -s,--server <server> | -c,--cluster <cluster>

    Lifecycle Invocation가 위치한 서버 혹은 클러스터의 이름을 지정한다.

    [-f,--forceLock]

    설정 변경을 강제로 진행하여 반영한다.

    [-detail]

    설정 변경 결과에 대한 상세한 정보가 출력된다.

  • 예제

    [MASTER]domain1.adminServer>modify-invocation-library libName -mv newLibName
    -class invo.invoTestClass2 -s server1
    Successfully performed the MODIFY operation for Invocation Library [newLibName], but all changes were non-dynamic.
    They will be applied after restarting.
    Check the results using "list-lifecycle-invocations or lifecycle-invocation-info".

4.2.3.30. 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]

    설정 변경 결과에 대한 상세한 정보가 출력된다.

  • 예제

    [MASTER]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.31. modify-lifecycle-invocation

특정 서버 혹은 클러스터의 Lifecycle Invocation을 수정한다.

  • alias

    modlifeinvo, modifylifecycleinvocation, modifylifeinvo

  • 사용법

    modify-lifecycle-invocation <class>
                                [-mv,--rename <lifecycle-invocation-class>]
                                -s,--server <server> | -c,--cluster <cluster>
                                [-f,--forceLock]
                                [-detail]
  • 파라미터

    파라미터설명

    <class>

    수정할 Lifecycle Invocation의 클래스 이름이다.

    [-mv,--rename <lifecycle-invocation-class>]

    Lifecycle Invocation의 클래스 이름을 변경한다.

    -s,--server <server> | -c,--cluster <cluster>

    Lifecycle Invocation이 위치한 서버 혹은 클러스터의 이름을 지정한다.

    [-f,--forceLock]

    설정 변경을 강제로 진행하여 반영한다.

    [-detail]

    설정 변경 결과에 대한 상세한 정보가 출력된다.

  • 예제

    [MASTER]domain1.adminServer>modify-lifecycle-invocation sampleClass1 -mv className3 -s server1
    Successfully performed the ADD operation for Lifecycle Invocation Class [className3], but all changes were non-dynamic.
    They will be applied after restarting.
    Check the results using "list-lifecycle-invocations".

4.2.3.32. 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을 강제로 취한다.

  • 예제

    [MASTER]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.
    
    [MASTER]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.33. 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  <true | false>]
                       [-count <rotation-count>]
                       [-dir <rotation-dir>]
                       [-buffer <buffer-size>]
                       [-append <true | false>]
                       [-hour <hour> | -day <day> | -size <size>]
                       [-f,--forceLock]
                       [-detail]
                       [-permission <permission>]
                       [-chown <chown>]
  • 파라미터

    파라미터설명

    -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 <true | false>]

    파일 로테이션을 가능하게 할지 여부를 설정한다. (기본값: true)

    [-count <rotation-count>]

    백업하는 로그 파일의 최대 개수이다.

    [-dir <rotation-dir>]

    백업하는 로그 파일이 위치하는 디렉터리 경로이다.

    [-buffer <buffer-size>]

    로그 메시지를 파일에 기록할 때의 버퍼 사이즈이다.

    [-append <true | false>]

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

    (true | false, 기본값: true)

    [-hour <hour>]

    입력된 시간마다 새로운 로그 파일을 작성한다.

    [-day <day>]

    입력된 날마다 새로운 로그 파일을 작성한다.

    [-size <size>]

    입력된 사이즈에 따라 새로운 로그 파일을 작성한다.

    [-f,--forceLock]

    설정 변경을 강제로 진행하여 반영한다.

    [-detail]

    동적 변경 결과에 대한 상세한 정보가 출력된다.

    [-permission <permission>]

    입력된 퍼미션으로 로그파일을 설정한다. (설정값 예시: rwxrwxrwx)

    [-chown <chown>]

    입력된 소유자로 로그파일을 설정한다. owner와 group은 콤마(,)로 구분한다 (설정값 예시: owner-id,group-id)

  • 예제

    [MASTER]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.34. modify-logger

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

  • alias

    modifylogger

  • 사용법

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

    파라미터설명

    -server <server-name>

    서버의 이름이다.

    <logger-name>

    로거의 이름이다.

    [-level <log-level>]

    [동적 변경] 로거의 로그 레벨이다.

    [-useParentHandlers <true | false>]

    [동적 변경] 상위 로거의 핸들러를 사용할지 여부이다. (true | false)

    [-filter <filter-class>]

    로거에 적용할 필터의 클래스 이름이다.

    [-formatter <formatter-class>]

    로거에 적용할 Formatter의 클래스 이름이다.

    [-f,--forceLock]

    설정 변경을 강제로 진행하여 반영한다.

    [-detail]

    동적 변경 결과에 대한 상세한 정보가 출력된다.

  • 예제

    [MASTER]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.35. 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]

    동적 변경 결과에 대한 상세한 정보가 출력된다.

  • 예제

    [MASTER]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.36. 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]

    동적 변경 결과에 대한 상세한 정보가 출력된다.

  • 예제

    [MASTER]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.37. 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]

    동적 변경 결과에 대한 상세한 정보가 출력된다.

  • 예제

    [MASTER]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.38. remove-invocation

특정 Lifecycle Invocation의 Invocation을 제거한다.

  • alias

    rminvo, removeinvocation, removeinvo

  • 사용법

    remove-invocation -id <invocation-id> | -m,--method <invocation-method>
                      -class <class>
                      -s,--server <server> | -c,--cluster <cluster>
                      [-f,--forceLock]
                      [-detail]
  • 파라미터

    파라미터설명

    -id <invocation-id> | -m,--method <invocation-method>

    제거할 Invocation을 ID 혹은 메서드 이름으로 지정한다. 만약 동일한 이름의 메서드가 여러 개인 경우 ID로 지정해야 한다.

    -class <class>

    Invocation이 위치한 Lifecycle Invocation의 클래스 이름을 지정한다.

    -s,--server <server> | -c,--cluster <cluster>

    Lifecycle Invocation가 위치한 서버 혹은 클러스터의 이름을 지정한다.

    [-f,--forceLock]

    설정 변경을 강제로 진행하여 반영한다.

    [-detail]

    설정 변경 결과에 대한 상세한 정보가 출력된다.

  • 예제

    [MASTER]domain1.adminServer>remove-invocation -m bootMethod -class invocation.ClassName1 -s server1
    Successfully performed the REMOVE operation for Invocation [bootMethod](Invocation ID = 0), but all changes were non-dynamic.
    They will be applied after restarting.
    Check the results using "list-lifecycle-invocations or lifecycle-invocation-info".

4.2.3.39. remove-invocation-library

특정 Lifecycle Invocation에 Library Ref를 제거한다.

  • alias

    rminvolib, removeinvocationlibrary, removeinvolib

  • 사용법

    remove-invocation-library <library>
                              -class <class>
                              -s,--server <server> | -c,--cluster <cluster>
                              [-f,--forceLock]
                              [-detail]
  • 파라미터

    파라미터설명

    <library>

    제거할 Library Ref의 라이브러리 이름이다.

    -class <class>

    Library Ref가 위치한 Lifecycle Invocation의 클래스 이름을 지정한다.

    -s,--server <server> | -c,--cluster <cluster>

    Lifecycle Invocation가 위치한 서버 혹은 클러스터의 이름을 지정한다.

    [-f,--forceLock]

    설정 변경을 강제로 진행하여 반영한다.

    [-detail]

    설정 변경 결과에 대한 상세한 정보가 출력된다.

  • 예제

    [MASTER]domain1.adminServer>remove-invocation-library newLibName -class invo.invoTestClass2 -s server1
    Successfully performed the REMOVE operation for Invocation Library [newLibName], but all changes were non-dynamic.
    They will be applied after restarting.
    Check the results using "list-lifecycle-invocations or lifecycle-invocation-info".

4.2.3.40. 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]

    설정 변경 결과에 대한 상세한 정보가 출력된다.

  • 예제

    [MASTER]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.41. remove-lifecycle-invocation

특정 서버 혹은 클러스터의 Lifecycle Invocation을 제거한다.

  • alias

    rmlifeinvo, removelifecycleinvocation, removelifeinvo

  • 사용법

    remove-lifecycle-invocation <class>
                                -s,--server <server> | -c,--cluster <cluster>
                                [-f,--forceLock]
                                [-detail]
  • 파라미터

    파라미터설명

    <class>

    제거할 Lifecycle Invocation의 클래스 이름이다.

    -s,--server <server> | -c,--cluster <cluster>

    Lifecycle Invocation이 위치한 서버 혹은 클러스터의 이름을 지정한다.

    [-f,--forceLock]

    설정 변경을 강제로 진행하여 반영한다.

    [-detail]

    설정 변경 결과에 대한 상세한 정보가 출력된다.

  • 예제

    [MASTER]domain1.adminServer>remove-lifecycle-invocation className3 -s server1
    Successfully performed the REMOVE operation for Lifecycle Invocation Class [className3], but all changes were non-dynamic.
    They will be applied after restarting.
    Check the results using "list-lifecycle-invocations".

4.2.3.42. 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을 강제로 취한다.

  • 예제

    [MASTER]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 |
    +------------------------------------+---------+-------+
    ========================================================
    
    [MASTER]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.
    [MASTER]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.43. 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]

    동적 변경 결과에 대한 상세한 정보가 출력된다.

  • 예제

    [MASTER]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.44. remove-logger

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

  • alias

    removelogger

  • 사용법

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

    파라미터설명

    -server <server-name>

    서버의 이름이다.

    [<logger-name>]

    제거할 로거의 이름이다.

    [-f,--forceLock]

    설정 변경을 강제로 진행하여 반영한다.

    [-detail]

    동적 변경 결과에 대한 상세한 정보가 출력된다.

  • 예제

    [MASTER]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.45. remove-replicate-group

동적으로 특정 서버 또는 서버 템플릿에 지정한 Replicate Group을 삭제한다.

  • alias

    rmrg

  • 사용법

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

    파라미터설명

    [-template <name>]

    Replicate Group을 삭제할 서버 템플릿의 이름이다. 서버 옵션과 함께 사용할 수 없다.

    [-server <name>]

    Replicate Group을 삭제할 서버의 이름이다. 서버 템플릿 옵션과 함께 사용할 수 없다.

    [-f,--forceLock]

    설정 변경을 강제로 진행하여 반영한다.

    [-detail]

    동적 변경 결과에 대한 상세한 정보가 출력된다.

  • 예제

    [MASTER]domain1.adminServer>remove-replicate-group -server server1
    Successfully performed the REMOVE operation for Replicate Group Name.
    Check the results using "show-replicate-group".

4.2.3.46. resume-server

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

  • alias

    resume

  • 사용법

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

    파라미터설명

    [-clusters <cluster-list>]

    클러스터의 이름이다. 클러스터가 한 개 이상인 경우는 콤마(,)로 구분한다.

    [-servers <server-list>]

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

  • 예제

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

4.2.3.47. run-garbage-collection

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

  • alias

    rungc, gc

  • 사용법

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

    파라미터설명

    [-clusters <cluster-list>]

    클러스터의 이름이다. 클러스터가 한 개 이상인 경우는 콤마(,)로 구분한다.

    [-servers <server-list>]

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

  • 예제

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

4.2.3.48. 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>]

    해당 노드로 분류된 서버에 대한 정보를 출력한다.

  • 예제

    [MASTER]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    |        |             |             |
    +--------+---------+-----+-------+-----+----------------+--------+-------------+-------------+
    | ds1 (d)| SHUTDOWN|node1| N/A   | temp| N/A            | N/A    | N/A         | N/A         |
    |        |         |     |       |late1|                |        |             |             |
    |        |         |     |       |     |                |        |             |             |
    +--------+---------+-----+-------+-----+----------------+--------+-------------+-------------+
    | ds2 (d)| SHUTDOWN|node1| N/A   | temp| N/A            | N/A    | N/A         | N/A         |
    |        |         |     |       |late1|                |        |             |             |
    |        |         |     |       |     |                |        |             |             |
    +--------+---------+-----+-------+-----+----------------+--------+-------------+-------------+
    ==============================================================================================
    참고
    1. JEUS Master Server의 경우 서버 이름 옆에 애스터리스크(*) 표기가 붙는다.

    2. dynamic 서버의 경우 이름 옆에 (d) 표기가 붙는다.

4.2.3.49. 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으로 지정한다.

  • 예제

    [MASTER]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).
    [MASTER]domain1.adminServer>

4.2.3.50. set-replicate-group

동적으로 특정 서버 또는 서버 템플릿에 Replicate Group을 지정한다.

  • alias

    setrg

  • 사용법

    set-replicate-group <ReplicateGroupName>
                        [-template <name>]
                        [-server <name>]
                        [-f,--forceLock]
                        [-detail]
  • 파라미터

    파라미터설명

    <ReplicateGroupName>

    Replicate Group의 이름이다.

    [-template <name>]

    Replicate Group을 지정할 서버 템플릿의 이름이다. 서버 옵션과 함께 사용할 수 없다.

    [-server <name>]

    Replicate Group을 지정할 서버의 이름이다. 서버 템플릿 옵션과 함께 사용할 수 없다.

    [-f,--forceLock]

    설정 변경을 강제로 진행하여 반영한다.

    [-detail]

    동적 변경 결과에 대한 상세한 정보가 출력된다.

  • 예제

    [MASTER]domain1.adminServer>set-replicate-group RepGrp -server server1
    Successfully performed the ADD operation for Replicate Group Name, but all changes were non-dynamic. They will be applied after restarting.
    Check the results using "show-replicate-group".

4.2.3.51. show-replicate-group

서버 또는 서버 템플릿의 Replicate Group을 확인한다.

  • alias

    showrg

  • 사용법

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

    파라미터설명

    [-template <name>]

    Replicate Group을 조회할 서버 템플릿의 이름이다. 서버 옵션과 함께 사용할 수 없다.

    [-server <name>]

    Replicate Group을 조회할 서버의 이름이다. 서버 템플릿 옵션과 함께 사용할 수 없다.

  • 예제

    [MASTER]domain1.adminServer>show-replicate-group
    Replicate Group Name in Server / Server Template
    ================================================================
    +----------+-------------+-------------------------------------+
    |   Type   |     Name    |         Replicate Group Name        |
    +----------+-------------+-------------------------------------+
    | Server   | adminServer |                                     |
    | Server   | server1     | RepGrp                              |
    | Server   | server2     |                                     |
    | Template | tm1         | Test                                |
    +----------+-------------+-------------------------------------+
    ================================================================
    [MASTER]domain1.adminServer>show-replicate-group -server ms1
    Replicate Group Name in Server / Server Template
    ================================================================
    +--------+---------+-------------------------------------------+
    |  Type  |   Name  |            Replicate Group Name           |
    +--------+---------+-------------------------------------------+
    | Server | server1 | RepGrp                                    |
    +--------+---------+-------------------------------------------+
    ================================================================
    [MASTER]domain1.adminServer>show-replicate-group -template tm1
    Replicate Group Name in Server / Server Template
    ================================================================
    +----------+------+--------------------------------------------+
    |   Type   | Name |            Replicate Group Name            |
    +----------+------+--------------------------------------------+
    | Template | tm1  | Test                                       |
    +----------+------+--------------------------------------------+
    ================================================================

4.2.3.52. show-current-scf-view

현재 SCF View를 모니터링한다.

  • alias

    scfview, showscf

  • 사용법

    show-current-scf-view [-dump]
  • 파라미터

    파라미터설명

    [-dump]

    옵션을 지정할 경우 Server log를 dump한다.

  • 예제

    [MASTER]domain1.adminServer>show-current-scf-view
    ================================================================================
    Current SCF Views
    
    +------------------------------------------------------------------------------+
    |                                 Group Leader                                 |
    +------------------------------------------------------------------------------+
    | adminServer                                                                  |
    +------------------------------------------------------------------------------+
    ================================================================================
    
    ================================================================================
    Synchronized View
    
    +----------+---------------+-------+-----------------------+-------+-----------+
    |  Server  |    Address    |  PID  |      Started Time     | State |   Groups  |
    |   Name   |               |       |                       |       |           |
    +----------+---------------+-------+-----------------------+-------+-----------+
    | adminSer | 192.168.1.1:9 | 29660 | Tue Aug 30 02:43:15   | ALIVE | [domain1] |
    |ver       |736            |       |KST 2022               |       |           |
    +----------+---------------+-------+-----------------------+-------+-----------+
    | server1  | 192.168.1.5:1 | 20500 | Mon Aug 29 10:21:27   | ALIVE | [domain1] |
    |          |9736           |       |KST 2022               |       |           |
    +----------+---------------+-------+-----------------------+-------+-----------+
    ================================================================================
    
    ================================================================================
    Individual View
    
    +----------+---------------+-------+-----------------------+-------+-----------+
    |  Server  |    Address    |  PID  |      Started Time     | State |   Groups  |
    |   Name   |               |       |                       |       |           |
    +----------+---------------+-------+-----------------------+-------+-----------+
    | adminSer | 192.168.1.1:9 | 29660 | Tue Aug 30 02:43:15   | ALIVE | [domain1] |
    |ver       |736            |       |KST 2022               |       |           |
    +----------+---------------+-------+-----------------------+-------+-----------+
    | server1  | 192.168.1.5:1 | 20500 | Mon Aug 29 10:21:27   | ALIVE | [domain1] |
    |          |9736           |       |KST 2022               |       |           |
    +----------+---------------+-------+-----------------------+-------+-----------+
    ================================================================================
    [MASTER]domain1.adminServer>show-current-scf-view -dump
    ================================================================================
    Current SCF Views
    
    +------------------------------------------------------------------------------+
    |                                 Group Leader                                 |
    +------------------------------------------------------------------------------+
    | adminServer                                                                  |
    +------------------------------------------------------------------------------+
    ================================================================================
    
    ================================================================================
    Synchronized View
    
    +----------+---------------+-------+-----------------------+-------+-----------+
    |  Server  |    Address    |  PID  |      Started Time     | State |   Groups  |
    |   Name   |               |       |                       |       |           |
    +----------+---------------+-------+-----------------------+-------+-----------+
    | adminSer | 192.168.1.1:9 | 29660 | Tue Aug 30 02:43:15   | ALIVE | [domain1] |
    |ver       |736            |       |KST 2022               |       |           |
    +----------+---------------+-------+-----------------------+-------+-----------+
    | server1  | 192.168.1.5:1 | 20500 | Mon Aug 29 10:21:27   | ALIVE | [domain1] |
    |          |9736           |       |KST 2022               |       |           |
    +----------+---------------+-------+-----------------------+-------+-----------+
    ================================================================================
    
    ================================================================================
    Individual View
    
    +----------+---------------+-------+-----------------------+-------+-----------+
    |  Server  |    Address    |  PID  |      Started Time     | State |   Groups  |
    |   Name   |               |       |                       |       |           |
    +----------+---------------+-------+-----------------------+-------+-----------+
    | adminSer | 192.168.1.1:9 | 29660 | Tue Aug 30 02:43:15   | ALIVE | [domain1] |
    |ver       |736            |       |KST 2022               |       |           |
    +----------+---------------+-------+-----------------------+-------+-----------+
    | server1  | 192.168.1.5:1 | 20500 | Mon Aug 29 10:21:27   | ALIVE | [domain1] |
    |          |9736           |       |KST 2022               |       |           |
    +----------+---------------+-------+-----------------------+-------+-----------+
    ================================================================================
    Successfully dumped to server log.
    [MASTER]domain1.adminServer>

4.2.3.53. start-server

특정 MS를 시작한다. SHUTDOWN 상태 또는 STANDBY 상태일 경우 사용 가능하다. 해당 서버가 SHUTDOWN 상태일 경우에는 호스트 매니저 설정이 제대로 되어 있어야 동작한다. 호스트 매니저 설정은 JEUS Host Manager 안내서”의 “2.2. Host Manager 환경설정”를 참고한다.

  • alias

    startserver, boot

  • 사용법

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

    파라미터설명

    <server-name>

    서버의 이름이다.

    [-f, --force]

    강제로 서버를 시작한다.

    [-s, --standby]

    서버를 준비 상태인 STANDBY 상태로 기동한다.

    [-r, --restart-policy]

    호스트 인스턴스의 RestartPolicy를 설정한다. (기본값 Never)

    Never - 프로세스가 종료되면 재시작 하지 않음.

    Onfailure - 사용자의 명시적인 종료 및 sigkill로 프로세스가 종료되지 않으면 재시작.

    Always - 사용자의 명시적인 종료로 프로세스가 종료되지 않으면 재시작.

    [-seq, --sequential]

    주어진 서버를 순차적으로 기동한다.

  • 예제

    [MASTER]domain1.adminServer>start-server server1
    Successfully started the server[server1]. The server state is now RUNNING.

4.2.3.54. stop-cluster

특정 클러스터에 속한 Managed Server들을 종료한다. 클러스터 내에 JEUS Master Server가 포함된 경우 JEUS Master Server는 대상에서 제외한다.

  • alias

    stopcluster, shutdowncluster, downcluster

  • 사용법

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

    파라미터설명

    <cluster-name>

    클러스터의 이름이다.

    [-to,--shutdowntimeout <timeout>]

    Graceful하게 종료할 때 사용할 타임아웃을 설정한다. 처리 중인 요청을 입력한 시간만큼 완료되길 기다린다. (단위: ms)

    [-f, --force]

    Graceful 타임아웃을 적용하지 않고 강제로 종료할지 여부를 설정한다.

    [-g, --graceful]

    Graceful하게 종료할지 여부를 설정한다. 처리 중인 요청이 끝나길 무한히 기다린다.

  • 예제

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

4.2.3.55. stop-domain

현재 도메인에 속한 Managed Server들을 종료한다. JEUS Master Server의 종료는 local-shutdown 명령어를 통해서 가능하다.

  • alias

    stopdomain, shutdownall, downall

  • 사용법

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

    파라미터설명

    [-f, --force]

    Graceful 타임아웃을 적용하지 않고 강제로 종료할지 여부를 설정한다.

    [-g, --graceful]

    Graceful하게 종료할지 여부를 설정한다. 처리 중인 요청이 끝나길 무한히 기다린다.

    [-to,--shutdowntimeout <timeout>]

    Graceful하게 종료할 때 사용할 타임아웃을 설정한다. 처리 중인 요청을 입력한 시간만큼 완료되길 기다린다. (단위: second)

    [-i]

    사용자의 동의를 구하지 않고 바로 종료한다.

  • 예제

    [MASTER]domain1.adminServer>stop-domain
    Executing this command affects the service. Do you want to continue? (y/n)n
    [stop-domain] has been canceled.
    [MASTER]domain1.adminServer>stop-domain -i
    Stopping servers [adminServer, ms1].
    Stop server message to all managed servers in the domain were successfully sent.
    Unable to shut down JEUS Master Server. To shutdown JEUS Master Server, use the jeusadmin's "local-shutdown" command instead.

4.2.3.56. stop-server

입력한 단일 혹은 다수의 Managed Server를 종료시킨다. 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하게 종료할지 여부를 설정한다. 처리 중인 요청이 끝나길 무한히 기다린다.

  • 예제

    [MASTER]domain1.adminServer>stop-server server1
    Stop server message to server [server1] was successfully sent.

4.2.3.57. suspend-server

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

  • alias

    suspend

  • 사용법

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

    파라미터설명

    [-clusters <cluster-list>]

    클러스터의 이름이다. 서버가 한 개 이상인 경우는 콤마(,)로 구분한다.

    [-servers <server-list>]

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

  • 예제

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

4.2.3.58. 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>

    시스템 정보를 출력하고자 하는 서버의 이름이다.

  • 예제

    [MASTER]domain1.adminServer>system-info -process adminServer
    System Information of Server [adminServer]
    Process Information [adminServer]
    ================================================================
    +-----------------------------------------------------+--------+
    |                         Key                         |  Value |
    +-----------------------------------------------------+--------+
    | Process Id                                          | 719151 |
    | Thread Count                                        |    106 |
    | Process CPU Load                                    | 0.6 %  |
    | User Name                                           | User   |
    +-----------------------------------------------------+--------+

4.2.4. Domain Configuration 관련 명령어

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

명령어설명

add-cluster

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

add-custom-resource

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

add-custom-resource-to-clusters

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

add-data-sources-to-cluster

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

add-external-resource

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

add-external-resource-to-clusters

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

add-server

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

add-servers-to-cluster

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

add-server-template

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

add-dynamic-servers

미리 만들어진 설정 템플릿을 이용하여 자동 생성한 서버들로 이루어진 클러스터를 추가한다. JEUS Master Server-Managed Server 구조에서만 수행 가능한 명령어이다.

apply-configuration-plan

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

create-domain

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

delete-domain

생성된 도메인을 제거하는 Off-line 명령어이다.

disable-json-command

JsonCommand를 비활성화한다.

disable-to-resynchronize-applications

Managed Server가 INDEPENDENT 상태에서 DEPENDENT 상태로 변경되었을 때 애플리케이션을 동기화하지 않는다.

enable-json-command

JsonCommand를 활성화한다.

enable-to-resynchronize-applications

Managed Server가 INDEPENDENT 상태에서 DEPENDENT 상태로 변경되었을 때 애플리케이션을 동기화한다.

list-clusters

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

list-custom-resources

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

list-external-resources

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

list-domains

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

list-servers

현재 도메인에 존재하는 서버의 정보를 확인한다.

modify-cluster

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

modify-server

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

modify-dynamic-servers

Dynamic Servers 설정으로 만들어진 클러스터의 설정 정보를 변경한다. JEUS Master Server-Managed Server 구조에서만 수행 가능한 명령어이다.

pack-domain

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

remove-cluster

동적으로 클러스터를 삭제한다. JEUS Master Server-Managed Server 구조에서만 수행 가능한 명령어이다.

remove-custom-resource

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

remove-custom-resource-from-clusters

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

remove-data-sources-from-cluster

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

remove-domain-log-config

도메인 내 log 파일들의 소유자 및 권한 설정을 삭제한다.

remove-external-resource

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

remove-external-resource-from-clusters

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

remove-server

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

remove-servers-from-cluster

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

set-domain-log-config

도메인 내 log 파일들의 소유자 및 권한을 설정한다. 도메인에 속해 있는 서버들의 로거 설정 중 로그 파일 소유자 및 권한 설정이 없을 경우 이 설정을 따르게 된다.

show-domain-log-config

도메인 내 log 파일들의 소유자 및 권한 설정을 보여준다.

show-dynamic-servers

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

show-server-template

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

unpack-domain

서버에 장애가 생겼을 때 pack-domain에 의해 압축된 파일을 해제하는 명령어이다.

4.2.4.1. add-cluster

동적으로 클러스터를 추가한다.

  • 사용법

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

    파라미터설명

    [<cluster-name>]

    추가할 클러스터의 이름이다.

    [-servers <server-list>]

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

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

    [-f,--forceLock]

    설정 변경을 강제로 진행하여 반영한다.

    [-detail]

    동적 변경 결과에 대한 상세한 정보가 출력된다.

  • 예제

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

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

      [MASTER]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]

    동적 변경 결과에 대한 상세한 정보가 출력된다.

  • 예제

    [MASTER]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를 추가한다.

  • 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]

    동적 변경 결과에 대한 상세한 정보가 출력된다.

  • 예제

    [MASTER]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

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

  • 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]

    동적 변경 결과에 대한 상세한 정보가 출력된다.

  • 예제

    [MASTER]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]

    동적 변경 결과에 대한 상세한 정보가 출력된다.

  • 예제

    [MASTER]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를 추가한다.

  • 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]

    동적 변경 결과에 대한 상세한 정보가 출력된다.

  • 예제

    [MASTER]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

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

  • alias

    addserver

  • 사용법

    add-server [<server-name>]
               [-target,--duptargetserver <target-server>]
               [-port,--baseport <base-port>]
               [-addr,--baseaddr <base-addr>]
               [-http,--httpport <http-port>]
               [-rg,--replicate-group <name>]
               [-node,--nodeName <node-name>]
               [-jvm,--jvmOptions <jvm-options>]
               [-logdir,--logHomeDirectory <server-log-home-directory>]
               [-a,--actionOnResourceLeak <action-on-resource-leak>]
               [-l,--logStdoutToRawFormat <true | false>]
               [-m,--mejb <true | false>]
               [-c,--classFtp <true | false>]
               [-f,--forceLock]
               [-detail]
  • 파라미터

    파라미터설명

    [<server-name>]

    서버의 이름이다.

    [-target,--duptargetserver <target-server>]

    서버 설정을 복사할 타켓 서버의 이름이다.

    [-port,--baseport <base-port>]

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

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

    [-addr,--baseaddr <base-addr>]

    서버의 기본 동작 주소이다.

    [-http,--httpport <http-port>]

    서버의 기본 HTTP Listener의 포트 번호이다.

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

    [-rg,--replicate-group <name>]

    서버의 JNDI Naming Server Replicate Group을 지정한다.

    클러스터와는 별개로 독립적인 JNDI Naming Server만의 그룹 스코프로 같은 값을 갖는 서버들간에는 바인딩 오브젝트의 복제, 그룹 관리 등 JNDI에 한하여 클러스터와 동일하게 동작한다. 서버 클러스터링은 하지 않지만 JNDI와 EJB에 한해서만 클러스터링 효과를 가져가고 싶은 경우 사용 가능하다.

    [-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 <true | false>]

    [동적 변경] stdout을 그대로 출력할 것인지 JEUS 로거 포맷으로 출력할 것인지 설정한다. (true | false)

    [-m,--mejb <true | false>]

    [동적 변경] MEJB를 사용할지 여부를 설정한다. (true | false)

    [-c,--classFtp <true | false>]

    [동적 변경] class FTP 서비스를 사용할지 여부를 설정한다. (true | false)

    [-f,--forceLock]

    설정 변경을 강제로 진행하여 반영한다.

    [-detail]

    동적 변경 결과에 대한 상세한 정보가 출력된다.

  • 예제

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

      [MASTER]domain1.adminServer>list-servers
      List of Editable Servers
      ================================================================================
      +------+--------+-----+--------+---------+---------+-----+-----+---------+-----+
      | Serv |  Base  | Node|   JVM  |  Action |  Stdout | MEJB| Cla |  Server | Type|
      |  er  | Listen |     |Configs |   On    | to Raw  |     | ss  |Log Home |     |
      |      |Address |     |        |Resource | Format  |     | FTP | Directo |     |
      |      | /Port  |     |        |   Leak  |         |     |     |   ry    |     |
      +------+--------+-----+--------+---------+---------+-----+-----+---------+-----+
      | admi |0.0.0.0 | nod | -Xmx10 | Warning | true    | fal | true| none    | ser |
      |nServ |/ 9736  |e1   |24m     |         |         |se   |     |         |ver  |
      |er    |        |     |-XX:Max |         |         |     |     |         |     |
      |      |        |     |Metaspa |         |         |     |     |         |     |
      |      |        |     |ceSize= |         |         |     |     |         |     |
      |      |        |     |512m    |         |         |     |     |         |     |
      +------+--------+-----+--------+---------+---------+-----+-----+---------+-----+
      | serve|0.0.0.0 | nod | -Xmx10 | Warning | true    | fal | fal | none    | ser |
      |r1    |/ 19736 |e1   |24m     |         |         |se   |se   |         |ver  |
      |      |        |     |-XX:Max |         |         |     |     |         |     |
      |      |        |     |Metaspa |         |         |     |     |         |     |
      |      |        |     |ceSize= |         |         |     |     |         |     |
      |      |        |     |512m    |         |         |     |     |         |     |
      +------+--------+-----+--------+---------+---------+-----+-----+---------+-----+
      ================================================================================
    • 현재 존재하지 않는 이름으로 서버 추가

      [MASTER]domain1.adminServer>add-server server2 -port 10000 -node node1 -m false
      Successfully performed the ADD operation for server (server2).
       NOTICE : base-addr [0.0.0.0] base-port [10000] http-port [8088]
      Check the results using "list-servers or add-server"
      [MASTER]domain1.adminServer>add-server server3 -port 11000 -http 18088 -node node1
      Successfully performed the ADD operation for server (server3).
       NOTICE : base-addr [0.0.0.0] base-port [11000] http-port [18088]
      Check the results using "list-servers or add-server"

4.2.4.8. add-servers-to-cluster

동적으로 특정 서버를 특정 클러스터에 추가한다.

  • 사용법

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

    파라미터설명

    <cluster-name>

    클러스터의 이름이다.

    [-servers <server-list>]

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

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

    [-f,--forceLock]

    설정 변경을 강제로 진행하여 반영한다.

    [-detail]

    동적 변경 결과에 대한 상세한 정보가 출력된다.

  • 예제

    [MASTER]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

동적으로 여러 서버에 공통적으로 적용할 수 있는 설정 템플릿을 추가한다.

  • 사용법

    add-server-template [<server-template-name>]
                        [-port,--baseport <base-port>]
                        [-addr,--baseaddr <base-addr>]
                        [-http,--httpport <http-port>]
                        [-node,--nodeName <node-name>]
                        [-rg,--replicate-group <name>]
                        [-jvm,--jvmOptions <jvm-options>]
                        [-logdir,--logHomeDirectory <server-log-home-directory>]
                        [-a,--actionOnResourceLeak <action-on-resource-leak>]
                        [-l,--logStdoutToRawFormat <true | false>]
                        [-m,--mejb <true | false>]
                        [-c,--classFtp <true | false>]
                        [-f,--forceLock]
                        [-detail]
  • 파라미터

    파라미터설명

    <server-template-name>

    추가할 서버 템플릿의 이름이다.

    [-port,--baseport <base-port>]

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

    기본값으로 9736이 지정된다.

    [-addr,--baseaddr <base-addr>]

    서버의 기본 동작 주소이다.

    [-http,--httpport <http-port>]

    서버의 기본 HTTP Listener의 포트 번호이다.

    기본값으로 8088이 지정된다.

    [-node,--nodeName <node-name>]

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

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

    [-rg,--replicate-group <name>]

    서버 템플릿의 JNDI Naming Server Replicate Group을 지정한다.

    클러스터와는 별개로 독립적인 JNDI Naming Server만의 그룹 스코프로 같은 값을 갖는 서버들간에는 바인딩 오브젝트의 복제, 그룹 관리 등 JNDI에 한하여 클러스터와 동일하게 동작한다. 서버 클러스터링은 하지 않지만 JNDI와 EJB에 한해서만 클러스터링 효과를 가져가고 싶은 경우 사용 가능하다.

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

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

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

    [-logdir,--logHomeDirectory <server-log-home-directory>]

    템플릿으로 설정된 서버에서 생성되는 로그들이 공통적으로 들어갈 로그 디렉터리를 의미한다.

    [-a,--actionOnResourceLeak <action-on-resource-leak>]

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

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

    • AutoClose

    • NoAction

    • Warning

    [-l,--logStdoutToRawFormat <true | false>]

    [동적 변경] stdout을 그대로 출력할 것인지 JEUS 로거 포맷으로 출력할 것인지 설정한다. (true | false)

    [-m,--mejb <true | false>]

    [동적 변경] MEJB를 사용할지 여부를 설정한다. (true | false)

    [-c,--classFtp <true | false>]

    [동적 변경] class FTP 서비스를 사용할지 여부를 설정한다. (true | false)

    [-f,--forceLock]

    설정 변경을 강제로 진행하여 반영한다.

    [-detail]

    동적 변경 결과에 대한 상세한 정보가 출력된다.

  • 예제

    [MASTER]domain1.adminServer>add-server-template temp1
    Successfully performed the ADD operation for server template (temp1), but all changes were non-dynamic. They will be applied after restarting.
     NOTICE : base-addr [0.0.0.0] base-port [9736] http-port [8088]
    Check the results using "list-servers or show-server-template or add-server-template".

4.2.4.10. add-dynamic-servers

미리 설정된 템플릿을 이용하여 자동 생성한 서버들로 이루어진 클러스터를 생성한다. 미리 템플릿을 통하여 설정 정보를 저장한 다음에 사용하여야 한다.

  • alias

    adddservers

  • 사용법

    add-dynamic-servers <cluster-name>
                        -count <the-number-of-dynamic-servers>
                        [-nodes,--nodeNames <node-names>]
                        [-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>]

    추가될 서버가 위치하게 될 노드들을 설정한다. 콤마(,)를 구분자로 하여 여러 개를 설정할 수 있다.

    [-prefix,--serverNamePrefix <server-name-prefix>]

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

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

    -template,--serverTemplateName <server-template-name>

    동적(Dynamic) 서버들에게 공통적으로 적용될 설정 템플릿을 지정한다.

    [-step,--listenPortStep <listen-port-step>]

    같은 노드에 생성된 서버들의 포트 번호를 몇 씩 증가시킬지 지정한다.

    [-f,--forceLock]

    설정 변경을 강제로 진행하여 반영한다.

    [-detail]

    동적 변경 결과에 대한 상세한 정보가 출력된다.

  • 예제

    [MASTER]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>
                  [-mastername <master-name>]
                  [-baseport <master-base-port>]
                  [-baseaddress <master-base-address>]
                  [-jmsport <jms-port>]
                  [-user <user-name>]
                  [-httpport <http-port>]
                  [-jvmconfig <jvm-config>]
                  [-node <node-name>]
                  [-pw,--password]
                  [-ttype,--transport.type <transport-type>]
                  [-productionmode,--productionmode]
                  [-taddress,--transport.address <transport-address>]
                  [-tport,--transport.port <transport-port>]
  • 파라미터

    파라미터설명

    -domain <domain-name>

    도메인의 이름이다.

    [-mastername <master-name>]

    도메인을 관리하는 JEUS Master Server의 이름이다.

    [-baseport <master-base-port>]

    JEUS Master Server의 기본 동작 포트 번호이다.

    [-baseaddress <master-base-address>]

    JEUS Master Server의 기본 동작 주소이다.

    [-user <user-name>]

    도메인의 사용자 이름이다.

    [-httpport <http-port>]

    JEUS Master Server의 HTTP 포트 번호이다.

    [-jvmconfig <jvm-config>]

    JEUS Master Server에 적용할 JVM 설정이다.

    [-node <node-name>]

    JEUS Master Server에 적용할 노드 이름이다.

    [-pw,--password]

    템플릿 프로퍼티 파일과 상관없이 무조건 password를 콘솔에서 입력받게 된다.

    [-ttype,--transport.type <transport-type>]

    SCF의 전송 형식을 지정한다.

    [-productionmode,--productionmode]

    생성하는 JEUS의 도메인을 production mode에서 사용할지 여부이다.

    [-taddress,--transport.address <transport-address>]

    SCF의 전송 주소를 지정한다.

    [-tport,--transport.port <transport-port>]

    SCF의 전송 포트를 지정한다.

  • 예제

    offline>create-domain -domain domain1 -mastername adminServer -baseport 9763 -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                                     |
    +--------------------------------+---------------------------------------------+
    | JEUS Master Server Name        | adminServer                                 |
    +--------------------------------+---------------------------------------------+
    | JEUS Master Server Base Listen | 9763                                        |
    | Port                           |                                             |
    +--------------------------------+---------------------------------------------+
    | JEUS Master Server Base Listen | 0.0.0.0                                     |
    | Address                        |                                             |
    +--------------------------------+---------------------------------------------+
    | HTTP Port                      | 8088                                        |
    +--------------------------------+---------------------------------------------+
    | User Name                      | administrator                               |
    +--------------------------------+---------------------------------------------+
    | Node Name                      | node1                                       |
    +--------------------------------+---------------------------------------------+
    | Password                       | {AES:256}lBljYlIlBrujFDC7v3NSoHZQprgnncVmdB |
    |                                |bkt4oxDRg=                                   |
    +--------------------------------+---------------------------------------------+
    | JVM Option                     | -Xmx1024m -XX:MaxMetaspaceSize=256m         |
    +--------------------------------+---------------------------------------------+
    | Production Mode                | true                                        |
    +--------------------------------+---------------------------------------------+
    | Transport Type                 | HYBRID                                      |
    +--------------------------------+---------------------------------------------+
    ================================================================================
  • 참고

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

4.2.4.13. delete-domain

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

  • alias

    deletedomain

  • 사용법

    delete-domain -domain <domain-name>
                  [-f, --force]
  • 파라미터

    파라미터설명

    -domain <domain-name>

    도메인의 이름이다.

    [-f, --force]

    도메인 삭제 여부를 묻지 않고, 삭제한다.

  • 예제

    offline>delete-domain -domain newDomain
    Delete the following domain: [newDomain]
    Do you want to execute the delete domain command? (y/n)y
    Deleting the domain directory was successful.
    
    offline>delete-domain -domain newDomain -f
    Deleting the domain directory was successful.
  • 참고

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

4.2.4.14. disable-json-command

JsonCommand를 비활성화한다.

  • alias

    suspend-json-command, jsonoff

  • 사용법

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

    파라미터설명

    [-f,--forceLock]

    설정 변경을 강제로 진행하여 반영한다.

  • 예제

    [MASTER]domain1.adminServer>disable-json-command
    JsonCommand was successfully disabled.
    Applying configuration ...
    ================================================================================
    +------------------------------------------------------------------------------+
    |                                    Result                                    |
    +------------------------------------------------------------------------------+
    | Successfully applied the configuration changes.                              |
    | Restart the server to apply the changes.                                     |
    +------------------------------------------------------------------------------+
    ================================================================================

4.2.4.15. disable-to-resynchronize-applications

INDEPENDENT 상태인 Managed Server가 DEPENDENT 상태가 되었을 때 애플리케이션을 동기화하지 않는다.

  • alias

    disalbe-resync-apps, disable-resyncapps

  • 사용법

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

    파라미터설명

    [-f,--forceLock]

    설정 변경을 강제로 진행하여 반영한다.

  • 예제

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

4.2.4.16. enable-json-command

JsonCommand를 활성화한다.

  • alias

    resume-json-command, jsonon

  • 사용법

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

    파라미터설명

    [-f,--forceLock]

    설정 변경을 강제로 진행하여 반영한다.

  • 예제

    [MASTER]domain1.adminServer>enable-json-command
    JsonCommand was successfully enabled.
    Applying configuration ...
    ================================================================================
    +------------------------------------------------------------------------------+
    |                                    Result                                    |
    +------------------------------------------------------------------------------+
    | Successfully applied the configuration changes.                              |
    | Restart the server to apply the changes.                                     |
    +------------------------------------------------------------------------------+
    ================================================================================

4.2.4.17. enable-to-resynchronize-applications

INDEPENDENT 상태인 Managed Server가 DEPENDENT 상태가 되었을 때 애플리케이션을 동기화한다.

  • alias

    enable-resynch-apps, enable-resyncapps, enableresyncapps

  • 사용법

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

    파라미터설명

    [-f,--forceLock]

    설정 변경을 강제로 진행하여 반영한다.

  • 예제

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

4.2.4.18. list-clusters

현재 도메인에 존재하는 클러스터의 정보를 확인한다.

  • 사용법

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

    파라미터설명

    [<cluster-name>]

    클러스터의 이름이다.

  • 예제

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

4.2.4.19. 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를 확인하기 위한 서버 이름이다.

  • 예제

    [MASTER]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.20. 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를 확인하기 위한 서버 이름이다.

  • 예제

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

4.2.4.21. list-domains

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

  • alias

    listdomains

  • 사용법

    list-domains
  • 예제

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

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

4.2.4.22. list-servers

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

  • 사용법

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

    파라미터설명

    [<server-name>]

    서버의 이름이다.

  • 예제

    [MASTER]domain1.adminServer>list-servers
    List of Editable Servers
    ================================================================================
    +------+--------+-----+--------+---------+---------+-----+-----+---------+-----+
    | Serv |  Base  | Node|   JVM  |  Action |  Stdout | MEJB| Cla |  Server | Type|
    |  er  | Listen |     |Configs |   On    | to Raw  |     | ss  |Log Home |     |
    |      |Address |     |        |Resource | Format  |     | FTP | Directo |     |
    |      | /Port  |     |        |   Leak  |         |     |     |   ry    |     |
    +------+--------+-----+--------+---------+---------+-----+-----+---------+-----+
    | admi |0.0.0.0 | nod | -Xmx10 | Warning | true    | fal | true| none    | ser |
    |nServ |/ 9736  |e1   |24m     |         |         |se   |     |         |ver  |
    |er    |        |     |-XX:Max |         |         |     |     |         |     |
    |      |        |     |Metaspa |         |         |     |     |         |     |
    |      |        |     |ceSize= |         |         |     |     |         |     |
    |      |        |     |512m    |         |         |     |     |         |     |
    +------+--------+-----+--------+---------+---------+-----+-----+---------+-----+
    | serv | 192.16 | nod | -Xmx10 | Warning | true    | fal | fal | none    | ser |
    |er1   |8.0.124 |e1   |24m     |         |         |se   |se   |         |ver  |
    |      | / 9836 |     |-XX:Max |         |         |     |     |         |     |
    |      |        |     |Metaspa |         |         |     |     |         |     |
    |      |        |     |ceSize= |         |         |     |     |         |     |
    |      |        |     |512m    |         |         |     |     |         |     |
    +------+--------+-----+--------+---------+---------+-----+-----+---------+-----+
    | serv | 192.16 | nod | -Xmx10 | Warning | true    | fal | fal | none    | ser |
    |er2   |8.0.124 |e1   |24m     |         |         |se   |se   |         |ver  |
    |      | / 9936 |     |-XX:Max |         |         |     |     |         |     |
    |      |        |     |Metaspa |         |         |     |     |         |     |
    |      |        |     |ceSize= |         |         |     |     |         |     |
    |      |        |     |512m    |         |         |     |     |         |     |
    +------+--------+-----+--------+---------+---------+-----+-----+---------+-----+
    | dy_s |0.0.0.0 | nod | -Xmx10 | Warning | true    | fal | fal | none    | dyn |
    |erver |/ 9737  |e1   |24m     |         |         |se   |se   |         |amic |
    |_1    |        |     |        |         |         |     |     |         |(t1) |
    +------+--------+-----+--------+---------+---------+-----+-----+---------+-----+
    | dy_s |0.0.0.0 | nod | -Xmx10 | Warning | true    | fal | fal | none    | dyn |
    |erver |/ 9837  |e1   |24m     |         |         |se   |se   |         |amic |
    |_1    |        |     |        |         |         |     |     |         |(t1) |
    +------+--------+-----+--------+---------+---------+-----+-----+---------+-----+
    ================================================================================

4.2.4.23. modify-cluster

동적으로 특정 클러스터의 설정을 변경한다.

  • alias

    modifycluster, clusterconf, clusterconfig

  • 사용법

    modify-cluster <cluster-name>
                   [-m,--mejb <true | false>]
                   [-c,--classFtp <true | false>]
                   [-f,--forceLock]
                   [-detail]
  • 파라미터

    파라미터설명

    <cluster-name>

    클러스터의 이름이다.

    [-m,--mejb <true | false>]

    [동적 변경] MEJB를 사용할지 여부를 설정한다. (true | false)

    [-c,--classFtp <true | false>]

    [동적 변경] class FTP 서비스를 사용할지 여부를 설정한다. (true | false)

    [-f,--forceLock]

    설정 변경을 강제로 진행하여 반영한다.

    [-detail]

    동적 변경 결과에 대한 상세한 정보가 출력된다.

  • 예제

    [MASTER]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.24. 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 <true | false>]
                  [-m,--mejb <true | false>]
                  [-c,--classFtp <true | false>]
                  [-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 <true | false>]

    [동적 변경]stdout을 그대로 출력할 것인지 JEUS 로거 포맷으로 출력할 것인지 설정한다. (true | false)

    [-m,--mejb <true | false>]

    [동적 변경] MEJB를 사용할지 여부를 설정한다. (true | false)

    [-c,--classFtp <true | false>]

    [동적 변경] class FTP 서비스를 사용할지 여부를 설정한다. (true | false)

    [-f,--forceLock]

    설정 변경을 강제로 진행하여 반영한다.

    [-detail]

    동적 변경 결과에 대한 상세한 정보가 출력된다.

  • 예제

    [MASTER]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.25. modify-dynamic-servers

Dynamic servers 설정으로 생성한 클러스터의 설정을 변경한다.

  • alias

    modifydservers

  • 사용법

    modify-dynamic-servers <cluster-name>
                           [-count <the-number-of-dynamic-servers>]
                           [-nodes,--nodeNames <node-names>]
                           [-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 옵션 뒤에 아무 인자도 넘겨주지 않으면 된다.

    [-prefix,--serverNamePrefix <server-name-prefix>]

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

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

    [-template,--serverTemplateName <server-template-name>]

    동적(Dynamic) 서버들에게 공통적으로 적용될 설정 템플릿을 지정한다.

    [-step,--listenPortStep <listen-port-step>]

    같은 노드에 생성된 서버들의 포트 번호를 몇 씩 증가시킬지 변경한다.

    [-f,--forceLock]

    설정 변경을 강제로 진행하여 반영한다.

    [-detail]

    동적 변경 결과에 대한 상세한 정보가 출력된다.

  • 예제

    [MASTER]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.26. pack-domain

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

  • alias

    packdomain

  • 사용법

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

    파라미터설명

    <domain-name>

    도메인의 이름이다.

    [-p <dir-path>]

    압축 파일의 경로이다.

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

  • 예제

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

4.2.4.27. remove-cluster

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

  • 사용법

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

    파라미터설명

    [<cluster-name>]

    클러스터의 이름이다.

    [-f,--forceLock]

    설정 변경을 강제로 진행하여 반영한다.

    [-detail]

    동적 변경 결과에 대한 상세한 정보가 출력된다.

  • 예제

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

      [MASTER]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    |
      +----------+------------------------+-------+-----------+---------+
      ===================================================================
    • 현재 존재하는 클러스터 리스트에서 삭제할 클러스터 이름 확인 후 클러스터 삭제

      [MASTER]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.28. remove-custom-resource

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

  • alias

    removecr, rmcr

  • 사용법

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

    파라미터설명

    [<export-name>]

    제거할 custom resource의 JNDI 바인드 이름이다.

    [-f,--forceLock]

    설정 변경을 강제로 진행하여 반영한다.

    [-detail]

    동적 변경 결과에 대한 상세한 정보가 출력된다.

  • 예제

    [MASTER]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.29. remove-custom-resource-from-clusters

클러스터에 등록된 custom resource를 동적으로 삭제한다.

  • 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]

    동적 변경 결과에 대한 상세한 정보가 출력된다.

  • 예제

    [MASTER]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.30. remove-data-sources-from-cluster

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

  • 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]

    동적 변경 결과에 대한 상세한 정보가 출력된다.

  • 예제

    [MASTER]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.31. remove-domain-log-config

도메인 내 log 파일들의 소유자 및 권한 설정을 삭제한다.

해당 설정을 삭제하더라도 기존 log 파일들의 소유자 및 권한 설정이 변경되지는 않는다.

  • alias

    rmdomainlog, rmdomainlogcon, rmdomainlogconfig

  • 사용법

    remove-domain-log-config [-perm,--permission]
                                 [-own,--owner]
  • 파라미터

    파라미터설명

    [-perm,--permission]

    도메인 내 log 파일들의 권한 설정을 삭제한다.

    [-own,--owner]

    도메인 내 log 파일들의 소유자 설정을 삭제한다.

  • 예제

    [MASTER]domain1.adminServer>remove-domain-log-config -own
    Successfully performed the REMOVE operation for Domain Log file configuration for domain1.
    Check the results using "show-domain-log-config".

4.2.4.32. remove-external-resource

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

  • alias

    removecr, rmcr

  • 사용법

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

    파라미터설명

    [<export-name>]

    제거할 external resource의 이름이다.

    [-f,--forceLock]

    설정 변경을 강제로 진행하여 반영한다.

    [-detail]

    동적 변경 결과에 대한 상세한 정보가 출력된다.

  • 예제

    [MASTER]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.33. remove-external-resource-from-clusters

클러스터에 등록된 external resource를 동적으로 삭제한다.

  • 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]

    동적 변경 결과에 대한 상세한 정보가 출력된다.

  • 예제

    [MASTER]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.34. remove-server

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

  • 사용법

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

    파라미터설명

    [<server-name>]

    서버의 이름이다.

    [-f,--forceLock]

    설정 변경을 강제로 진행하여 반영한다.

    [-detail]

    동적 변경 결과에 대한 상세한 정보가 출력된다.

  • 예제

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

      [MASTER]domain1.adminServer>server-info
      Information about Domain (domain1)
      ================================================================================
      +--------+--------+-----+-----+-----+----------+-------+-----------+-----------+
      | Server | Status |Node | PID | Clu |  Latest  |  Need |   Listen  |  Running  |
      |        |        |Name |     |ster |  Start   |  to   |   Ports   |  Engines  |
      |        |        |     |     |     |  Time /  |Restart|           |           |
      |        |        |     |     |     | Shutdown |       |           |           |
      |        |        |     |     |     |   Time   |       |           |           |
      +--------+--------+-----+-----+-----+----------+-------+-----------+-----------+
      | adminS | RUNNIN | nod | 237 | N/A | 2021-03- | false | base-0.0. | jms, web, |
      |erver   |G(00:46 |e1   |60   |     |25 (목)   |       |0.0:9736   |ejb        |
      |(*)     |:06)    |     |     |     |오후      |       | http-serv |           |
      |        |        |     |     |     |01:13:48  |       |er-0.0.0.0 |           |
      |        |        |     |     |     |KST       |       |:8088      |           |
      +--------+--------+-----+-----+-----+----------+-------+-----------+-----------+
      | server | RUNNIN | nod | 132 | N/A | 2021-03- | false | base-0.0. | jms, web, |
      |1       |G(00:02 |e1   |75   |     |25 (목)   |       |0.0:9836   |ejb        |
      |        |:45)    |     |     |     |오후      |       |           |           |
      |        |        |     |     |     |01:13:48  |       |           |           |
      |        |        |     |     |     |KST       |       |           |           |
      +--------+--------+-----+-----+-----+----------+-------+-----------+-----------+
      | server | SHUTDO | nod | N/A | N/A | N/A      | N/A   | N/A       | N/A       |
      |2       |WN      |e1   |     |     |          |       |           |           |
      +--------+--------+-----+-----+-----+----------+-------+-----------+-----------+
      ================================================================================
    • 삭제할 서버가 종료되어 있는지 확인 후 삭제

      [MASTER]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.35. remove-servers-from-cluster

동적으로 특정 클러스터에서 특정 서버를 삭제한다.

  • 사용법

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

    파라미터설명

    <cluster-name>

    클러스터의 이름이다.

    [-servers <server-lists>]

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

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

    [-f,--forceLock]

    설정 변경을 강제로 진행하여 반영한다.

    [-detail]

    동적 변경 결과에 대한 상세한 정보가 출력된다.

  • 예제

    [MASTER]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.36. set-domain-log-config

도메인 내 log 파일들의 소유자 및 권한을 설정한다. 도메인에 속해 있는 서버들의 로거 설정 중 로그 파일 소유자 및 권한 설정이 없을 경우 이 설정을 따르게 된다.

만약 로거의 소유자 또는 권한 설정이 따로 존재할 경우에는 이 설정보다는 해당 설정을 따르게 된다.

  • alias

    setdomainlog, setdomainlogcon, setdomainlogconfig

  • 사용법

    set-domain-log-config [-perm,--permission <permission>]
                             [-own,--owner <chown>]
  • 파라미터

    파라미터설명

    [-perm,--permission <permission>]

    도메인 내 log 파일의 권한을 설정한다. 형식은 rwxrw-r--와 같이 입력하면 된다. POSIX 호환 OS에서만 사용가능한 설정이다.

    [-own,--owner <chown>]

    도메인 내 log 파일의 소유자를 설정한다.

    형식은 '소유자명,그룹'으로 입력한다. 만약 소유자명만 지정할 경우에는 '소유자명'만 입력한다. 그룹만 지정할 경우 ',그룹'으로 입력한다.

  • 예제

    [MASTER]domain1.adminServer>set-domain-log-config -own user,tmax
    Successfully performed the MODIFY operation for Domain Log file configuration for domain1, but all changes were non-dynamic. They will be applied after restarting.
    Check the results using "show-domain-log-config or set-domain-log-config".
    [MASTER]domain1.adminServer>set-domain-log-config -own ,tmax -perm rwxrwxrwx
    Successfully performed the MODIFY operation for Domain Log file configuration for domain1, but all changes were non-dynamic. They will be applied after restarting.
    Check the results using "show-domain-log-config or set-domain-log-config".

4.2.4.37. show-domain-log-config

도메인 내 log 파일들의 소유자 및 권한을 설정을 보여준다.

  • alias

    showdomainlog, showdomainlogcon, showdomainlogconfig

  • 사용법

    show-domain-log-config
  • 예제

    [MASTER]domain1.adminServer>show-domain-log-config
    Shows the current configuration.
    Domain Log file configuration for domain1
    =====================================================================
    +-------------------------------------------------------+-----------+
    | Domain Log file permission                            | (not set) |
    | Domain Log file owner                                 | (not set) |
    +-------------------------------------------------------+-----------+
    =====================================================================

4.2.4.38. show-dynamic-servers

동적 서버 생성으로 만들어진 클러스터의 설정 정보를 보여준다.

  • alias

    showdservers

  • 사용법

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

    파라미터설명

    <cluster-name>

    동적 설정 서버의 정보를 볼 클러스터 이름을 지정한다.

  • 예제

    [MASTER]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.39. show-server-template

설정된 서버 템플릿의 리스트를 조회한다.

  • 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.40. unpack-domain

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

  • alias

    unpackdomain

  • 사용법

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

    파라미터설명

    -p <file-path>

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

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

    <domain-name>

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

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

    [-delete]

    Unpack을 하려는 대상 도메인이 DOMAIN_HOME에 이미 존재하면 기존 도메인을 삭제하고 unpack을 진행하도록 한다.

    [-overwrite]

    Unpack을 하려는 대상 도메인이 DOMAIN_HOME에 이미 존재하면 unpack하려는 도메인이 기존 도메인을 덮어쓰도록 한다.

    [-masterurl <master-url>]

    Unpack을 진행하는 domain.xml에 설정될 JEUS Master Server의 동작 주소를 설정한다.

    [-nodename <node-name>]

    Unpack을 진행하는 domain.xml에 설정될 JEUS Master Server의 노드 이름을 설정한다.

  • 예제

    offline>unpack-domain domain1
    The JEUS Master Server listener address is already set to [192.168.34.55]. Do you want to change it? (y/n): y
    Enter the JEUS Master Server base listener address: 192.168.34.56
    The JEUS Master Server listener port is already set to [9736]. Do you want to change it? (y/n): n
    The JEUS Master Server nodename is already set to [node1]. Do you want to change it? (y/n): y
    Enter the JEUS Master Server nodename: node2
    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-trace

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

show-service-thread-pool

System Thread Pool에서 특정 서비스에 할당된 Thread의 정보를 조회한다.

show-system-thread-pool

System 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>
                        [<thread-id> | -wc <web-connection-name> | -ctx <web-context-name>]
                        [-svg <Service Group Name>]
  • 파라미터

    파라미터설명

    -server <server-name>

    서버의 이름이다.

    <thread-id> | -wc <web-connection-name> | -ctx <web-context-name>

    • <thread-id> : 시그널을 전송할 Thread의 ID이다.

    • -wc : interrupt할 thread pool이 Web-Connection 레벨의 thread pool일 때, Web-Connection name을 인자로 설정한다.

    • -ctx <web-context-name> : interrupt할 thread pool이 Context 레벨의 thread pool일 때, context name을 인자로 설정한다.

    -svg <Service Group Name>

    Context 레벨의 Thread Pool 이름이다. -ctx 옵션이 설정되었을 경우만 옵션을 줄 수 있다. -svg 옵션이 없을 경우 모든 Context 레벨의 Thread Pool을 interrupt한다.

  • 예제

    [MASTER]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]

    동적 변경 결과에 대한 상세한 정보가 출력된다.

  • 예제

    [MASTER]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]

    동적 변경 결과에 대한 상세한 정보가 출력된다.

  • 예제

    [MASTER]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>
                      [<thread-id> | -wc <web-connection-name> | -ctx <web-context-name>]
                      [-svg <Service Group Name>]
  • 파라미터

    파라미터설명

    -server <server-name>

    서버의 이름이다.

    <thread-id> | -wc <web-connection-name> | -ctx <web-context-name>

    • <thread-id> : Thread의 ID이다.

    • -wc : Stack Trace를 보여 줄 thread pool이 Web-Connection 레벨의 thread pool일 때, Web-Connection name을 인자로 설정한다.

    • -ctx <web-context-name> : Stack Trace를 보여 줄 thread pool이 Context 레벨의 thread pool일 때, context name을 인자로 설정한다.

    -svg <Service Group Name>

    Context 레벨의 Thread Pool 이름이다. -ctx 옵션이 설정되었을 경우만 옵션을 줄 수 있다. -svg 옵션이 없을 경우 모든 Context 레벨의 Thread Pool의 Stack Thrace를 보여준다.

  • 예제

    [MASTER]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

  • 예제

    [MASTER]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

  • 예제

    [MASTER]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의 정보를 출력한다. 서버에서는 기본적으로 서버 Thread Pool에 대한 정보만을 조회하며 옵션에 따라 모든 Pool 정보를 볼 수도 있다. Batch 애플리케이션의 경우 Thread Pool을 설정했다면, 이 Thread Pool에 대한 정보를 조회하여 출력한다.

  • alias

    threadinfo, ti

  • 사용법

    thread-info -server <server-name>
                [-type <thread-type>]
                [-wc <web-connection-name> | -ctx <web-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

    • batch : Batch 애플리케이션에서 사용되는 Thread Pool

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

    • context : Context Thread Pool

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

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

    [-wc <web-connection-name> | -ctx <context-name>]

    특정 웹 커넥션 또는 웹 컨텍스트를 지정한다. 웹 커넥션일 경우에는, 웹 커넥션의 Thread Pool 정보를 출력하고, 웹 컨텍스트일 경우에는 원하는 스레드 풀을 지정할 수 있고, 옵션이 없을 경우에는 Context, WebAsync, WebSocket 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를 조회한다. 서버에서만 유효하다.

  • 예제

    [MASTER]domain1.adminServer>thread-info -server server1
    
    Thread information for the server [server1]
    There are no EJB RMI threads for the server [server1].
    There is no batch thread pool in server [server1].
    
    =============================================================
    The web engine threads for 'ADMIN-HTTP'.
    
    +----+------------------------------+--------+---------+----+
    | tid|             name             |  state | elapsed | uri|
    +----+------------------------------+--------+---------+----+
    | 45 | ADMIN-HTTP-w00               | waiting| 48521870|    |
    +----+------------------------------+--------+---------+----+
    
    elsapsed: Elapsed time (ms)
    =============================================================
    
    ===================================================================
    Thread statistics for the 'ADMIN-HTTP'.
    
    +---------------------------+------+-------+-----+--------+-------+
    |                           | total| active| idle| blocked| reconn|
    +---------------------------+------+-------+-----+--------+-------+
    | The number of threads.    |    1 |     0 |   1 |      0 |     0 |
    +---------------------------+------+-------+-----+--------+-------+
    
    total = active + idle, reconn: reconnecting
    ===================================================================
    
    =====================================================
    The web engine threads for 'http1'.
    
    +------+--------------------+--------+---------+----+
    |  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)
    =====================================================
    
    ===================================================================
    Thread statistics for the 'http1'.
    
    +---------------------------+------+-------+-----+--------+-------+
    |                           | 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    |           |           |           |          |                   |
    +-----------+-----------+-----------+-----------+----------+-------------------+
    ================================================================================
    
    ==========================================================
    The threads for the 'chunk_checkpoint' thread pool.
    
    +-----+------+--------------+----------------------------+
    | tid | name | thread state |        active thread       |
    +-----+------+--------------+----------------------------+
    (No data available)
    ==========================================================
    
    ================================================================================
    The statistics for the 'chunk_checkpoint' thread pool.
    
    +-----------+-----------+-----------+-----------+----------+-------------------+
    | pool name |  minimum  |  maximum  |  current  |   work   |   remaining work  |
    |           | pool size | pool size | pool size |queue size|    queue size     |
    +-----------+-----------+-----------+-----------+----------+-------------------+
    | chunk_che |         0 |        10 |         0 |     4096 |              4096 |
    |ckpoint    |           |           |           |          |                   |
    +-----------+-----------+-----------+-----------+----------+-------------------+
    ================================================================================

4.2.6. Application 관련 명령어

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

명령어설명

add-application-repository

새로운 애플리케이션 저장소를 등록한다.

add-application-target

deploy되어 있는 애플리케이션의 Target에 서버나 클러스터를 추가한다. 해당 서버나 클러스터에 해당 애플리케이션을 deploy한다. JEUS Master Server-Managed Server 구조에서만 수행 가능한 명령어이다.

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-plan

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

install-library

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

library-info

설치 및 배포한 라이브러리들에 대한 정보를 출력한다.

list-application-repositories

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

redeploy-application

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

remove-application-repository

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

remove-application-target

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

start-application

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

stop-application

서비스 중인 애플리케이션을 정지시킨다.

undeploy-application

deploy된 애플리케이션을 undeploy한다.

uninstall-application

설치되어 있는 애플리케이션을 제거한다.

uninstall-deployment-plan

설치되어 있는 Deployment Plan을 제거한다.

undeploy-library

deploy한 라이브러리를 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]

    정보를 상세히 출력할 때 사용한다.

  • 예제

    [MASTER]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 상태일 때만 명령어를 사용할 수 있다. JEUS Master Server-Managed Server 구조에서만 수행 가능한 명령어이다.

  • 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>]

    가상 호스트 이름을 지정한다.

  • 예제

    [MASTER]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'라고 출력한다.

  • 예제

    • 기본적인 출력

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

      [MASTER]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'라고 표시한다.

      [MASTER]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]
                   [-exmaster,--excludeMaster]
                   [-vh,--virtualHost <virtual-host>]
                   [-svh,--systemVirtualHost]
                   [-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>]
                   [-con,--concurrent]
                   [-thn <thread-pool-name>]
                   [-tmin <thread-pool-min>]
                   [-tmax <thread-pool-max>]
                   [-tidle <thread-pool-maxIdleTimeout>]
                   [-qs <thread-pool-maxQueueCount>]
                   [-b <thread-pool base> | -uri <thread-pool-uri>]
                   [-ss,--sessionScope <scope-name>]
  • 파라미터

    파라미터설명

    [<application-id>]

    애플리케이션을 설치(install-application)할 때 입력한 애플리케이션의 ID이다. 한 개 이상의 애플리케이션을 deploy하려면 콤마(,)를 통해 ID를 구분한다. 파일 경로를 통해 distribute할 때도 애플리케이션에 ID를 부여할 수 있다. 이 경우에는 하나의 경로와 하나의 ID만 올 수 있다.

    [-path,--applicationPath <path>]

    애플리케이션을 설치하지 않고 파일 경로를 이용할 때 사용한다. JEUS Master Server와 같은 머신에 있는 파일만 가능하다.

    [-servers <server-list>]

    애플리케이션을 deploy할 서버들이다. 서버 이름은 콤마(,)로 구분한다.

    [-clusters <cluster-list>]

    애플리케이션을 deploy할 클러스터들이다. 클러스터 이름은 콤마(,)로 구분한다.

    [-all]

    도메인에 존재하는 모든 서버에 deploy할 때 지정한다.

    [-exmaster,--excludeMaster]

    all 옵션을 사용하는 경우 JEUS Master Server를 애플리케이션을 deploy할 대상 서버 목록에서 제외하고자 할 때 지정한다.

    [-vh,--virtualHost <virtual-host>]

    가상 호스트 주소이다. 웹 엔진에 설정한 가상 호스트 이름 중 하나를 선택한다. 웹 모듈에서만 동작한다.

    [-svh,--systemVirtualHost]

    애플리케이션을 시스템 가상 호스트에 배포한다.

    [-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을 현재 버전에 맞는 형식으로 바꿔주기 위한 옵션이다.

    [-plan,-deploymentPlanName <deployment-plan-name>]

    Deployment Plan 파일의 이름을 설정하기 위한 옵션이다.

    [-ctxp,--contextPath <context-path>]

    웹 애플리케이션의 경우 컨텍스트를 설정하기 위한 옵션이다.

    [-staging]

    Exploded module 형태의 애플리케이션을 압축하여 다른 머신에 전송하기 위한 옵션이다.

    [-lib,--libraryId <library-IDs>]

    애플리케이션이 참조할 라이브러리들을 지정한다. 여러 라이브러리를 지정할 경우 콤마(,)로 구분한다.

    [-version,--libraryVersion <library-versions>]

    참조할 라이브러리들에 대한 버전을 지정한다. 여러 라이브러리를 지정할 경우 콤마(,)로 구분한다.

    [-con, --concurrent]

    여러 애플리케이션을 deploy하려고 할 때 애플리케이션을 동시에 deploy할지 여부를 설정한다.

    [-thn <thread-pool name>]

    애플리케이션 관련 요청을 처리할 Thread Pool 이름을 설정한다. command로는 하나의 Context Thread Pool만 설정할 수 있다. 해당 옵션을 적용할 경우 -tmin, -tmax 옵션은 필수 값이다.

    [-tmin <thread-pool min>]

    Context Thread Pool에서 Worker Thread를 유지해야 하는 최소 개수를 설정한다.

    [-tmax <thread-pool max>]

    Context Thread Pool에서 Worker Thread를 유지해야 하는 최대 개수를 설정한다.

    [-tidle <thread-pool max-idle-time>]

    Context Thread Pool에서 제거되기 전에 Idle 상태로 머물러 있는 Worker Thread의 최대 시간을 설정한다.

    [-qs <thread-pool max-queue>]

    Context Thread Pool에서 Queue에 대기할 수 있는 최대 요청값을 설정한다.

    [-b <thread-pool base> | -uri <thread-pool uri>]

    추가하고자 하는 Thread Pool이 base인지 Service Group인지 구분하고자 옵션을 추가해야 한다. -b 옵션을 줄 경우 base Thread Pool로 인식하고, 아무 옵션도 안 줄 경우에는 Service Group Thread Pool을 생성하고 uri에는 Empty String이 들어간다. 하나 이상의 uri를 설정하려면 스페이스 없이 ','로 구분해서 넣는다.

    [-ss,--sessionScope <scope-name>]

    application이 포함될 scope를 지정한다.

  • 예제

    [MASTER]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>]

    라이브러리를 배포할 서버를 지정한다. 여러 서버를 지정할 경우 콤마(,)로 구분한다.

  • 예제

    [MASTER]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의 이름(식별자)을 지정한다.

  • 예제

    [MASTER]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]
                   [-exmaster,--excludeMaster]
                   [-vh,--virtualHost <virtual-host>]
                   [-svh,--systemVirtualHost]
                   [-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>]
                   [-con,--concurrent]
  • 파라미터

    파라미터설명

    [<application-id>]

    애플리케이션을 설치(install-application)할 때 입력한 애플리케이션의 ID이다. 한 개 이상의 애플리케이션을 distribute하려면 콤마(,)를 통해 ID를 구분한다. 파일 경로를 통해 distribute할 때도 애플리케이션에 ID를 부여할 수 있다. 이 경우에는 하나의 경로와 하나의 ID만 올 수 있다.

    [-path,--applicationPath <path>]

    애플리케이션을 설치하지 않고 파일 경로를 이용할 때 사용한다. JEUS Master Server와 같은 머신에 있는 파일만 가능하다.

    [-servers <server-list>]

    애플리케이션을 설치할 서버들이다. 서버 이름은 콤마(,)로 구분한다.

    [-clusters <cluster-list>]

    애플리케이션을 설치할 클러스터들이다. 클러스터 이름은 콤마(,)로 구분한다.

    [-all]

    도메인에 존재하는 모든 서버에 설치할 때 지정한다.

    [-exmaster,--excludeMaster]

    all 옵션을 사용하는 경우 JEUS Master Server를 애플리케이션을 deploy할 대상 서버 목록에서 제외하고자 할 때 지정한다.

    [-vh,--virtualHost <virtual-host>]

    가상 호스트 주소로 웹 엔진에 설정한 가상 호스트 이름 중 하나를 선택한다. 웹 모듈에서만 동작한다.

    [-svh,--systemVirtualHost]

    애플리케이션을 시스템 가상 호스트에 배포한다.

    [-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을 현재 버전에 맞는 형식으로 바꿔주기 위한 옵션이다.

    [-plan,-deploymentPlanName <deployment-plan-name>]

    Deployment Plan 파일의 이름을 설정하기 위한 옵션이다.

    [-ctxp,--contextPath <context-path>]

    웹 애플리케이션의 경우 컨텍스트를 설정하기 위한 옵션이다.

    [-staging]

    Exploded module 형태의 애플리케이션을 압축하여 다른 머신에 전송하기 위한 옵션이다.

    [-lib,--libraryId <library-IDs>]

    애플리케이션이 참조할 라이브러리들을 지정한다. 여러 라이브러리를 지정할 경우 콤마(,)로 구분한다.

    [-version,--libraryVersion <library-versions>]

    참조할 라이브러리들에 대한 버전을 지정한다. 여러 라이브러리를 지정할 경우 콤마(,)로 구분한다.

    [-con, --concurrent]

    여러 애플리케이션을 distribute하려고 할 때, 애플리케이션을 동시에 distribute할지 여부를 설정한다.

  • 예제

    [MASTER]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를 현재 버전에 맞는 형식으로 바꿔주기 위한 옵션이다.

  • 예제

    [MASTER]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을 덮어쓰도록 강제한다.

  • 예제

    [MASTER]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으로 간주한다.

  • 예제

    [MASTER]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
  • 예제

    [MASTER]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
  • 예제

    [MASTER]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>]
                         [-masterPath,--pathManuallyInstalled
                         <application-source-path-in-master>]
                         [-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>]

    변경된 애플리케이션의 파일 경로이다. 파일 재설치 동작을 포함한다.

    [-masterPath, --pathManuallyInstalled <application-source-path-in-master>]

    JEUS Master Server 머신에서 접근가능한 변경된 애플리케이션의 로컬 파일 경로이다. 설치하는 작업을 포함하지 않는다.

    [-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 옵션이나 masterPath 옵션을 사용하여 새 애플리케이션 경로를 지정하였을 경우에만 동작한다.

  • 예제

    [MASTER]domain1.adminServer>redeploy-application myApp
    redeploy application on JEUS Master Server 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]

    정보를 자세히 출력하는 경우 사용한다.

  • 예제

    [MASTER]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 또는 배포된 애플리케이션을 해당 서버나 클러스터에서 제거한다. JEUS Master Server-Managed Server 구조에서만 수행 가능한 명령어이다.

  • 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>]

    가상 호스트 이름을 지정한다.

  • 예제

    [MASTER]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할지 여부를 설정한다.

  • 예제

    [MASTER]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할지 여부를 설정한다.

  • 예제

    [MASTER]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]
                         [-rss,--removeSessionScope]
  • 파라미터

    파라미터설명

    <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할지 여부를 설정한다.

    [-rss,--removeSessionScope]

    설정한 scope에서 애플리케이션을 제거한다.

  • 예제

    [MASTER]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할 라이브러리의 버전을 지정한다.

  • 예제

    [MASTER]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]

    설치되어 있는 모든 애플리케이션을 제거한다.

  • 예제

    [MASTER]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을 제거한다.

  • 예제

    [MASTER]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>]

    삭제할 라이브러리의 버전을 지정한다.

  • 예제

    [MASTER]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이다.

  • 예제

    [MASTER]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]

    타이머의 정보를 상세하게 출력한다.

  • 예제

    [MASTER]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]

    동적 변경 결과에 대한 상세한 정보가 출력된다.

  • 예제

    [MASTER]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]

    동적 변경 결과에 대한 상세한 정보가 출력된다.

  • 예제

    [MASTER]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>

    서버의 이름이다.

  • 예제

    [MASTER]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>

    서버의 이름이다.

  • 예제

    [MASTER]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가지로 구분할 수 있다.

4.2.8.1. 공통적용 사항

다음은 웹 엔진 관련 명령어에서 공통적으로 적용되는 옵션에 대한 설명이다. 아래 옵션 중 하나만 설정될 수 있다.

  • [-cluster <cluster-name>] 옵션

    • 각 명령어가 적용될 클러스터를 지정할 때 사용하는 옵션이다. 옵션을 설정하지 않으면 현재 접속된 서버의 웹 엔진으로 적용된다.

    • 각 명령어의 옵션 설명에서 이 옵션에 대한 설명은 생략한다. 단, precompile-jsp는 이 옵션을 제공하지 않는다.

  • [-server <server-name>] 옵션

    • 각 명령어가 적용될 서버를 지정할 때 사용하는 옵션이다. 옵션을 설정하지 않으면 현재 접속된 서버의 웹 엔진으로 적용된다.

    • 각 명령어의 옵션 설명에서 이 옵션에 대한 설명은 생략한다.

참고
  1. 서버에 즉시 반영이 안되는 설정의 경우 즉, Pending된 설정이 최초의 설정으로 재설정되는 명령어를 수행하면, 서버의 재시작이 필요하다는 안내문(Restart the Server)이 출력되지 않는다.

  2. JEUS Master Server의 경우는 위 옵션 중 하나는 반드시 필요하다. 그렇지만 JEUS Master Server가 아닌 일반 관리 서버에서 해당 명령어를 실행할 경우에는 아래 옵션들이 없을 경우 접속한 서버를 기반으로 명령어가 수행된다.

4.2.8.2. add-ajp-listener

AJP 리스너를 추가한다.

  • 관련 스키마

    web-engine.xsd - web-engine/web-connections/ajp13-listener

  • alias

    addajpl

  • 사용법

    add-ajp-listener [-cluster <cluster-name> | -server <server-name>]
                     [-f, --forceLock]
                     -name <web-connection-name>
                     -slref <server-listener-ref-name>
                     -tmin <minimum-thread-num>
                     [-tmax <maximum-thread-num>]
                     [-tidle <max-idle-time>]
                     [-qs <max_queue>]
  • 파라미터

    파라미터설명

    [-f, --forceLock]

    설정 변경을 강제로 진행하여 반영한다.

    -name <web-connection-name>

    리스너의 이름이다.

    -slref <server-listener-ref-name>

    서버에 등록된 서비스 리스너의 이름이다.

    -tmin <minimum-thread-num>

    Thread Pool의 최소 Thread 수이다.

    [-tmax <maximum-thread-num>]

    Thread Pool의 최대 Thread 수이다. 설정하지 않으면 tmin와 같은 값을 갖는다.

    [-tidle <max-idle-time>]

    Thread Pool에서 제거되기 전에 Idle 상태로 머물러 있는 Worker Thread의 최대 시간이다.

    [-qs <max_queue>]

    Thread Pool에서 처리할 작업들을 저장할 Queue의 Size이다.

  • 예제

    add-ajp-listener -name ajp1 -server server1 -slref ajp-server -tmin 10

4.2.8.3. add-backup-webtob

Backup WebtoB을 추가한다.

  • 관련 스키마

    web-engine.xsd - web-engine/web-connections/webtob-connector/webtob-backup

  • alias

    addbackupwebtob

  • 사용법

    add-backup-webtob [-cluster <cluster-name> | -server <server-name>]
                      [-f, --forceLock]
                      -name <web-connection-name>
                      [-addr <server-address>]
                      -port <server-port> | -dsocket
                      [-wbhome <webtob-home>]
                      [-ipcport <ipc-base-port>]
  • 파라미터

    파라미터설명

    [-f, --forceLock]

    설정 변경을 강제로 진행하여 반영한다.

    -name <web-connection-name>

    Backup WebtoB를 추가할 WebtoB 커넥터의 이름이다.

    -addr <server-address>

    Backup WebtoB의 서버 주소이다. -port 사용할 때 필수 옵션이다.

    -port <server-port>

    Backup WebtoB의 서버 포트 번호이다.

    -dsocket

    Unix 도메인 소켓(Pipe)을 이용하여 JEUS와 WebtoB 사이에 통신을 한다.

    -wbhome <webtob-home>

    JEUS와 WebtoB가 같은 장비 안에 설치되어 있을 경우 Backup WebtoB가 설치된 절대 경로이다.

    -ipcport <ipc-base-port>

    Windows 환경에서 WebtoB의 내부 프로세스간 통신을 할 때 사용하는 기본 포트 번호이다.

  • 예제

    add-backup-webtob -server server1 -name webtob1 -port 9999 -addr localhost

4.2.8.4. add-http-listener

HTTP 리스너를 추가한다.

  • 관련 스키마

    web-engine.xsd - web-engine/web-connections/http-listener

  • alias

    addhttpl

  • 사용법

    add-http-listener [-cluster <cluster-name> | -server <server-name>]
                      [-f, --forceLock]
                      -name <web-connection-name>
                      -slref <server-listener-ref-name>
                      -tmin <minimum-thread-num>
                      [-tmax <maximum-thread-num>]
                      [-tidle <max-idle-time>]
                      [-qs <max_queue>]
                      [-http2]
  • 파라미터

    파라미터설명

    [-f, --forceLock]

    설정 변경을 강제로 진행하여 반영한다.

    -name <web-connection-name>

    리스너의 이름이다.

    -slref <server-listener-ref-name>

    서버에 등록된 서비스 리스너의 이름이다.

    -tmin <minimum-thread-num>

    Thread Pool의 최소 Thread 수이다.

    [-tmax <maximum-thread-num>]

    Thread Pool의 최대 Thread 수이다. 설정하지 않으면 tmin와 같은 값을 갖는다.

    [-tidle <max-idle-time>]

    Thread Pool에서 제거되기 전에 Idle 상태로 머물러 있는 Worker Thread의 최대 시간이다.

    [-qs <max_queue>]

    Thread Pool에서 처리할 작업들을 저장할 Queue의 Size이다.

    [-http2]

    HTTP/2를 사용한다.

  • 예제

    add-http-listener -name http1 -server server1 -slref http-server -tmin 5 -tmax 10 -http2

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-tcp-listener

TCP 리스너를 추가한다. 단, TCP 리스너는 XML에만 반영하며 TCP 리스너를 실제로 서비스에 적용하려면 서버를 재시작해야 한다.

  • 관련 스키마

    web-engine.xsd - web-engine/web-connections/tcp-listener

  • alias

    addtcpl

  • 사용법

    add-tcp-listener [-cluster <cluster-name> | -server <server-name>]
                     [-f, --forceLock]
                     -name <web-connection-name>
                     -slref <server-listener-ref-name>
                     -dcc <dispatcher-config-class>
                     -tmin <minimum-thread-num>
                     [-tmax <maximum-thread-num>]
                     [-tidle <max-idle-time>]
                     [-qs <max_queue>]
  • 파라미터

    파라미터설명

    [-f, --forceLock]

    설정 변경을 강제로 진행하여 반영한다.

    -name <web-connection-name>

    리스너의 이름이다.

    -slref <server-listener-ref-name>

    서버에 등록된 서비스 리스너의 이름이다.

    -dcc <dispatcher-config-class>

    jeus.servlet.tcp.TCPDispatcherConfig 인터페이스를 구현한 클래스 이름이다.

    -tmin <minimum-thread-num>

    Thread Pool의 최소 Thread 수이다.

    [-tmax <maximum-thread-num>]

    Thread Pool의 최대 Thread 수이다. 설정하지 않으면 tmin와 같은 값을 갖는다.

    [-tidle <max-idle-time>]

    Thread Pool에서 제거되기 전에 Idle 상태로 머물러 있는 Worker Thread의 최대 시간이다.

    [-qs <max_queue>]

    Thread Pool에서 처리할 작업들을 저장할 Queue의 Size이다.

  • 예제

    add-tcp-listener -name tcp1 -slref tcp -server server1 -dcc tcp.DispatcherConfigImpl -tmin 5 -tmax 10

4.2.8.7. 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>
                       -addr <server-address>
                       -port <server-port>
                       -svrg <server-group-name>
                       -svr <server-name>
                       -dcc <dispatcher-config-class>
                       -tmin <minimum-thread-num>
                       [-tmax <maximum-thread-num>]
                       [-tidle <max-idle-time>]
                       [-qs <max_queue>]
  • 파라미터

    파라미터설명

    [-f, --forceLock]

    설정 변경을 강제로 진행하여 반영한다.

    -name <web-connection-name>

    Tmax 커넥터의 이름이다.

    -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 인터페이스를 구현한 클래스 이름이다.

    -tmin <minimum-thread-num>

    Thread Pool의 최소 Thread 수이다.

    [-tmax <maximum-thread-num>]

    Thread Pool의 최대 Thread 수이다. 설정하지 않으면 tmin와 같은 값을 갖는다.

    [-tidle <max-idle-time>]

    Thread Pool에서 제거되기 전에 Idle 상태로 머물러 있는 Worker Thread의 최대 시간이다.

    [-qs <max_queue>]

    Thread Pool에서 처리할 작업들을 저장할 Queue의 Size이다.

  • 예제

    add-tmax-connector -name tmax1 -addr 5.0.1.2 -port 1024
    -svrg group1 -svr server1 -server server1 -dcc serice.DispatcherConfig

4.2.8.8. add-virtual-host

가상 호스트를 추가한다.

  • 관련 스키마

    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>
                     [-tmin <minimum-thread-num>]
                     [-tmax <maximum-thread-num>]
                     [-tidle <max-idle-time>]
                     [-qs <max-queue>]
  • 파라미터

    파라미터설명

    [-f, --forceLock]

    설정 변경을 강제로 진행하여 반영한다.

    <virtual-host-name>

    가상 호스트의 이름이다.

    -list <host-name-list>

    가상 호스트에 등록할 도메인 이름 또는 IP 주소이다.

    [-tmin <minimum-thread-num>]

    Thread Pool의 최소 Thread 수이다.

    [-tmax <maximum-thread-num>]

    Thread Pool의 최대 Thread 수이다.

    [-tidle <max-idle-time>]

    Thread Pool에서 제거되기 전에 Idle 상태로 머물러 있는 Worker Thread의 최대 시간이다.

    [-qs <max-queue>]

    Thread Pool에서 Queue에 대기할 수 있는 최대 요청값이다.

  • 예제

    add-virtual-host -server server1 host2 -list www.foo.com,192.168.1.2 -tmin 1 -tmax 10 -tidle 20000

4.2.8.9. add-valve

Valve를 추가한다.

  • 관련 스키마

    web-engine.xsd - pipeline/valve

  • alias

    addvlv

  • 사용법

    add-valve [-cluster <cluster-name> | -server <server-name>]
              [-f, --forceLock]
              -cn, --classname <class-name>
              -p, --properties <property>
              [-vh <virtual-host-name>]
  • 파라미터

    파라미터설명

    [-f, --forceLock]

    설정 변경을 강제로 진행하여 반영한다.

    -cn, --classname <class-name>

    서버, 가상호스트에 적용할 valve class를 지정한다. 제우스의 ValveBase를 상속받은 클래스로 지정해야 한다.

    [-p,--properties <properties>]

    valve의 프로퍼티를 설정한다.

    • 한 개의 프로퍼티는 "key=value" 형태로 "="를 이용하여 설정한다.

    • 한 개 이상의 프로퍼티를 수정할 경우에는 각 프로퍼티를 콤마(,)로 구분하여 설정한다.

    [-vh <virtual-host-name>]

    valve를 추가할 가상 호스트의 이름이다. 가상 호스트 이름을 설정 안하면 서버 단에서 valve가 추가된다.

  • 예제

    add-valve -server server1 -cn UserValveBase
    -p jeus.servlet.jsp.compile-java-source-concurrently=false,userProperty=myValue

4.2.8.10. 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.11. 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.12. 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.13. 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>
                         -conn <connection-count>
                         -regid <registration-id>
                         -tmin <minimum-thread-num>
                         [-tmax <maximum-thread-num>]
                         [-tidle <max-idle-time>]
                         [-qs <max_queue>]
                         [-hth <hth-count>]
                         [-useNio <use-nio>]
                         [-ver <wjp-version>>]
                         [-addr <server-address>]
                         -port <server-port> | -dsocket
                         [-wbhome <webtob-home>]
                         [-ipcport <ipc-base-port>]
                         [-sndbuf <send-buffer-size>]
                         [-rcvbuf <receive-buffer-size>]
  • 파라미터

    파라미터설명

    [-f, --forceLock]

    설정 변경을 강제로 진행하여 반영한다.

    -name <web-connection-name>

    WebtoB 커넥터의 이름이다.

    -conn <connection-count>

    WebtoB와 연결할 Connection 갯수이다.

    -tmin <minimum-thread-num>

    Thread Pool의 최소 Thread 수이다.

    [-tmax <maximum-thread-num>]

    Thread Pool의 최대 Thread 수이다. 설정하지 않으면 tmin와 같은 값을 갖는다.

    [-tidle <max-idle-time>]

    Thread Pool에서 제거되기 전에 Idle 상태로 머물러 있는 Worker Thread의 최대 시간이다.

    [-qs <max_queue>]

    Thread Pool에서 처리할 작업들을 저장할 Queue의 Size이다.

    [-hth <hth-count>]

    hth process의 갯수이다.

    -ver <wjp-version>

    WebtoB와 통신할 때 사용하는 프로토콜 버전을 나타낸다. 1 또는 2를 입력한다.

    -addr <server-address>

    WebtoB 서버 주소이다. -port 사용할 때 필수 옵션이다.

    -port <server-port>

    WebtoB 서버 포트 번호이다.

    -regid <registration-id>

    WebtoB와의 등록 ID이다.

    -dsocket

    Unix 도메인 소켓(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 -conn 10 -tmin 10 -hth 2 -regid MyGroup -port 9999 -addr localhost

4.2.8.14. 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.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>]
       [-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

    • eclipse

    각 값들에 대한 설명은 스키마를 참고한다. 기본값으로 설정하는 것이 가장 효율적이기 때문에 별도의 설정을 하지 않는 것을 권장한다.

    [-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을 이용하여 설정한 값을 삭제할 수 있다.

    [-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-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.17. modify-tmax-connector

Tmax 커넥터의 설정 등을 변경한다.

  • 관련 스키마

    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 -obuf 20000

4.2.8.18. 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>
                        [-tmin <minimum-thread-num>]
                        [-tmax <maximum-thread-num>]
                        [-tidle <max-idle-time>]
                        [-aluph <true | false>|
                         -alf <access-log-format> |
                         -aluse <true | false> |
                         -alhnl <true | false> |
                         -alext <access-log-excluded-extensions>]
                        [-hnrm <host-name> | -hnadd <host-name>]
                        [-ast <attach-stacktrace-on-error>]
                        [-fhn <access-log-handler-file-handler-name>]
                        [-fhp <access-log-handler-file-handler-permission>]
  • 파라미터

    파라미터설명

    [-f, --forceLock]

    설정 변경을 강제로 진행하여 반영한다.

    <virtual-host-name>

    가상 호스트의 이름이다.

    [-tmin <minimum-thread-num>]

    [동적 변경] Thread Pool의 최소 Thread 수이다.

    [-tmax <maximum-thread-num>]

    [동적 변경] Thread Pool의 최대 Thread 수이다.

    [-tidle <max-idle-time>]

    Thread Pool의 Thread별 유후 대기 시간이다.

    -aluph <true | false>

    [동적 변경] 웹 엔진 액세스 로그에 남길지 여부를 지정한다.

    (true | false 또는 t | f)

    [-alf <access-log-format>]

    [동적 변경] 액세스 로그 포맷이다. 중간에 스페이스 문자가 있는 경우 큰따옴표(" ")로 감싸야 한다. 포맷에 관한 자세한 사항은 JEUS Web Engine 안내서”의 절 1.6.10. “액세스 로그 포맷 설정”을 참고한다.

    -aluse <true | false>

    [동적 변경] 액세스 로그 사용 여부를 지정한다.

    (true | false 또는 t | f)

    -alhnl <true | false>

    [동적 변경] %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를 첨부할지 여부를 설정한다.

    [-fhn <access-log-handler-file-handler-name>]

    Permission을 수정할 file-handler의 이름이다. -fhp를 사용할 때 필수 옵션이다.

    [-fhp <access-log-handler-file-handler-permission>]

    Log 파일의 접근 권한 설정인 Permission을 수정한다. -fhn을 사용할 때 필수 옵션이다.

  • 예제

    modify-virtual-host -server server1 vhost1 -tmin 1 -tmax 20 -alf "common %I"

4.2.8.19. 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>]
                         [-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을 수정한다.

    [-vh <virtual-host-name>]

    가상 호스트를 지정한다.

  • 예제

    modify-web-cookie-policy -server server1 -auer false
    
    modify-web-cookie-policy -server server1 -enc UTF-8

4.2.8.20. 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.21. 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.22. 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 <true | false>]
                                   [-alhnl <true | false>]
                                   [-alext <access-log-excluded-extensions>]
                                   [-ast <attach-stacktrace-on-error>]
                                   [-att <async-timeout-min-threads>]
                                   [-rerp | -erp <default-error-page>]
                                   [-fhn <access-log-handler-file-handler-name>]
                                   [-fhp <access-log-handler-file-handler-permission>]
  • 파라미터

    파라미터설명

    [-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 <true | false>]

    [동적 변경] 액세스 로그 사용 여부를 지정한다.

    (true | false 또는 t | f)

    [-alhnl <true | false>]

    [동적 변경] %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를 이용하여 설정을 삭제할 수 있다.

    [-fhn <access-log-handler-file-handler-name>]

    Permission을 수정할 file-handler의 이름이다. -fhp를 사용할 때 필수 옵션이다.

    [-fhp <access-log-handler-file-handler-permission>]

    Log 파일의 접근 권한 설정인 Permission을 수정한다. -fhn을 사용할 때 필수 옵션이다.

  • 예제

    • [-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.23. modify-web-listener

HTTP, TCP, AJP 리스너의 설정 등을 변경한다.

  • 관련 스키마

    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>]
                        [-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별 유후 대기 시간이다.

    [-obuf <output-buffer-size>]

    서블릿이 사용하는 응답 버퍼 크기다.

    [-http2 <enable-http2>]

    리스너가 http2를 사용/미사용할지 결정한다. HTTP 리스너에만 해당된다.

  • 예제

    modify-web-listener -name http1 -server server1 -obuf 200000 -http2

4.2.8.24. 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>
                            [-conn <connection-count>]
                            [-hth <hth-count>]
                            [-tmin <minimum-thread-num>]
                            [-tmax <maximum-thread-num>]
                            [-tidle <max-idle-time>]
                            [-obuf <output-buffer-size>]
                            [-ver <wjp-version>]
                            [-addr <server-address>]
                            [-port <server-port> | -dsocket]
                            [-wbhome <webtob-home>]
                            [-cloud <cloud-mode>]
                            [-ipcport <ipc-base-port>]
                            [-regid <registration-id>]
                            [-sndbuf <send-buffer-size>]
                            [-rcvbuf <receive-buffer-size>]
  • 파라미터

    파라미터설명

    [-f, --forceLock]

    설정 변경을 강제로 진행하여 반영한다.

    -name <web-connection-name>

    WebtoB 커넥터의 이름이다.

    [-conn <connection-count>]

    [동적 변경]WebtoB와 연결할 Connection 갯수이다.

    [-hth <hth-count>]

    hth process의 갯수이다.

    [-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>]

    서블릿 응답 버퍼 크기다.

    [-ver <wjp-version>]

    WebtoB와 통신할 때 사용하는 프로토콜 버전을 나타낸다. 1 또는 2를 입력한다.

    [-addr <server-address>]

    WebtoB 서버 주소이다. -port 사용할 때 필수 옵션이다.

    [-port <server-port>]

    WebtoB 서버 포트 번호이다.

    [-regid <registration-id>]

    WebtoB와의 등록 ID 이다.

    [-dsocket]

    Unix 도메인 소켓(Pipe)을 이용하여 JEUS와 WebtoB 사이에 통신을 한다.

    [-wbhome <webtob-home>]

    JEUS와 WebtoB가 같은 장비 안에 설치되어 있을 경우 WebtoB가 설치된 절대 경로이다. -dsocket을 사용할 때 설정할 수 있다.

    [-cloud <cloud-mode>]

    cloud mode를 사용할 것인지에 대한 여부를 나타낸다.

    [-ipcport <ipc-base-port>]

    Windows 환경에서 WebtoB의 내부 프로세스간 통신을 할 때 사용하는 기본 포트 번호이다. -dsocket을 사용할 때 설정할 수 있다.

    [-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 -conn 30 -tmin 30 -sndbuf 1200 -rcvbuf 2400 -server server1

4.2.8.25. notify-auto-scale

웹 서버나 JEUS MS(Managed Server)의 추가/삭제를 알려준다.

  • 관련 스키마

    web-engine.xsd

  • alias

    nas

  • 사용법

    notify-auto-scale -wscaleout | -wscalein | -wunlink | -jscaleout | -jscalein
                      -address <ip-address>
                      [-port <server-port>]
                      [-group <group-id>]
  • 파라미터

    파라미터설명

    -wscaleout

    웹 서버가 추가되었음을 알려준다.

    -wscalein

    웹 서버가 삭제되었음을 알려준다.

    -wunlink

    웹 서버가 종료되었음을 알려준다.

    -jscaleout

    JEUS MS(Managed Server)가 추가되었음을 알려준다.

    -jscalein

    JEUS MS(Managed Server)가 삭제되었음을 알려준다.

    -address <ip-address>

    추가/삭제된 서버의 ip-address를 지정한다.

    [-port <server-port>]

    추가/삭제된 서버의 port를 지정한다.

    WebtoB를 사용할 경우 WebtoB에 설정된 JSVPORT를 넣어준다. 그 외의 경우에는 사용되지 않는다.

    [-group <group-id>]

    CWDP 동작을 수행할 그룹의 ID를 지정한다.

  • 예제

    notify-auto-scale -wscaleout -address 192.168.0.2 -port 9900
    
    notify-auto-scale -wscalein -address 192.168.0.2 -port 9900

4.2.8.26. 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> | -id <application-id>]
                   [-e <excluded-jsp-list-file> | -l <included-jsp-list-file>]
  • 파라미터

    파라미터설명

    [-ctx <context-name>]

    웹 컨텍스트 이름을 설정한다. EAR 안에 있는 경우 ear-name#context-name으로 입력한다.

    [-id <application-id>]

    웹 컨텍스트가 포함된 애플리케이션의 ID를 설정한다. EAR 안에 있는 경우엔 설정할 수 없으며, -ctx 옵션을 사용해야한다.

    [-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.27. 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.28. remove-backup-webtob

Backup WebtoB를 삭제한다.

  • 관련 스키마

    web-engine.xsd - web-engine/web-connections/webtob-connector/webtob-backup

  • alias

    rmbackupwebtob

  • 사용법

    remove-backup-webtob [-cluster <cluster-name> | -server <server-name>]
                         [-f, --forceLock]
                         -name <web-connection-name>
  • 파라미터

    파라미터설명

    [-f, --forceLock]

    설정 변경을 강제로 진행하여 반영한다.

    -name <web-connection-name>

    삭제할 backup을 가지고 있는 WebtoB 커넥터의 이름이다.

  • 예제

    remove-backup-webtob -server server1 -name webtob1

4.2.8.29. 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.30. 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.31. remove-virtual-host

가상 호스트를 삭제한다.

  • 관련 스키마

    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.32. remove-valve

Valve를 삭제한다.

  • 관련 스키마

    web-engine.xsd - pipeline/valve

  • alias

    rmvlv

  • 사용법

    remove-valve [-cluster <cluster-name> | -server <server-name>]
                 [-f, --forceLock]
                 -cn, --classname <class-name>
                 [-vh <virtual-host-name>]
  • 파라미터

    파라미터설명

    [-f, --forceLock]

    설정 변경을 강제로 진행하여 반영한다.

    -cn, --classname <class-name>

    서버, 가상호스트에서 삭제할 valve class를 지정한다.

    [-vh <virtual-host-name>]

    valve를 삭제할 가상 호스트의 이름이다. 가상 호스트 이름을 설정 안하면 서버 단의 valve가 삭제된다.

  • 예제

    remove-valve -server server1 -cn UserValveBase -vh host1

4.2.8.33. remove-valve-property

Valve의 프로퍼티 설정을 삭제한다. 추가되는 프로퍼티는 대소문자를 구별한다. 단, XML에만 반영하며 실제로 서비스에 적용하려면 서버를 재시작해야 한다.

  • 관련 스키마

    web-engine.xsd - pipeline/valve/property

  • alias

    rmvlvprop

  • 사용법

    remove-valve-property [-cluster <cluster-name> | -server <server-name>]
                          [-f, --forceLock]
                          -cn, --classname <class-name>
                          -k, --key <key>
                          [-vh <virtual-host-name>]
  • 파라미터

    파라미터설명

    [-f, --forceLock]

    설정 변경을 강제로 진행하여 반영한다.

    -cn, --classname <class-name>

    삭제할 property를 가지고 있는 valve class를 지정한다. 제우스의 ValveBase를 상속받은 클래스로 지정해야 한다.

    -k, --key <key>

    삭제할 property의 key를 지정한다.

    [-vh <virtual-host-name>]

    삭제할 property의 valve를 가지고 있는 가상 호스트의 이름이다. 가상 호스트 이름을 설정 안하면 서버 단에 있는 valve의 property가 삭제된다.

  • 예제

    remove-valve-property -server server1 -cn UserValveBase -k userProperty -vh host1

4.2.8.34. 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.35. resume-web-component

일시 중지된 웹 컴포넌트(서블릿)를 재시작한다.

참고

JEUS 6에서는 명령어 webresume과 webtob -r 명령어로 분리되어있던 것을 JEUS 7부터 통합하였다. 또한 JEUS 7부터 웹 컨텍스트에 대한 시작 명령어는 별도로 제공되지 않는다. JEUS Master Server의 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.36. 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.37. 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.38. 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.39. 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.40. set-valve-property

Valve의 프로퍼티 설정을 추가한다. 추가되는 프로퍼티는 대소문자를 구별한다. 단, XML에만 반영하며 실제로 서비스에 적용하려면 서버를 재시작해야 한다.

  • 관련 스키마

    web-engine.xsd - pipeline/valve/property

  • alias

    addvlvprop

  • 사용법

    set-valve-property [-cluster <cluster-name> | -server <server-name>]
                       [-f, --forceLock]
                       -cn, --classname <class-name>
                       -k, --key <key>
                       -v, --value <value>
                       [-vh <virtual-host-name>]
  • 파라미터

    파라미터설명

    [-f, --forceLock]

    설정 변경을 강제로 진행하여 반영한다.

    -cn, --classname <class-name>

    property를 추가할 valve class를 지정한다. 제우스의 ValveBase를 상속받은 클래스로 지정해야 한다.

    -k, --key <key>

    valve에 추가할 key를 지정한다.

    -v, --value <value>

    valve에 추가할 value를 지정한다.

    [-vh <virtual-host-name>]

    property를 추가할 가상 호스트의 이름이다. 가상 호스트 이름을 설정 안하면 서버 단에 있는 valve에 추가된다.

  • 예제

    set-valve-property -server server1 -cn UserValveBase -k userProperty -v true -vh host1

4.2.8.41. show-request-processing-flow

URL 패턴이나 특정 호스트 이름으로 들어온 요청의 처리 흐름을 조회한다.

  • 관련 스키마

    web-app_4_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.42. 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.43. 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]

    웹 엔진에 속해 있는 각각의 WebContainer와 Context 레벨의 Thread Pool의 상태를 조회한다. 조회되는 정보는 현재 할당된 Worker Thread의 수와 Wait-Queue에 적체된 클라이언트의 수 그리고 Thread Pool을 유지하는 최대 Thread의 개수를 포함한다.

    [-s,--session]

    웹 엔진에 구성된 세션 서버의 커넥션에 대한 정보를 출력한다.

    정보는 현재 연결되어 있는 세션 서버의 이름, 전체 세션의 수, Pool에서 사용된 세션 서버와 커넥션의 수를 포함한다.

    [-r,--request]

    각 컨텍스트에 대해 처리된 요청의 누적 수치와 평균 처리시간을 출력한다.

    [-m,--memory]

    구동 중인 웹 엔진에서 현재 JVM에서 사용하고 있는 메모리의 상태를 조회한다.

  • 예제

    • 스레드 풀 정보 조회

      show-web-statistics -server server1 -ctx test -t
    • 세션 서버 정보 확인

      show-web-statistics -server server1 -s

4.2.8.44. show-webtob-connector

WebtoB Connection 정보를 출력한다. 현재 Connection의 상태를 알 수 있다.

  • 관련 스키마

    web-engine.xsd - web-engine/web-connections/webtob-connector

  • alias

    webtobcon

  • 사용법

    show-webtob-connector [-cluster <cluster-name> | -server <server-name>]
                      [-f,--forceLock]
                      -name <web-connection-name>
  • 파라미터

    파라미터설명

    [-f, --forceLock]

    설정 변경을 강제로 진행하여 반영한다.

    -name <web-connection-name>

    WebtoB 커넥터의 이름이다.

  • 예제

    show-webtob-connector -server server1 -name webtob1

4.2.8.45. suspend-web-component

지정한 서블릿을 중지하여 클라이언트로 에러 페이지를 보여주도록 한다.

참고

JEUS 6에서는 websuspend과 webtob -s 명령어로 분리되어있던 것을 JEUS 7부터 통합하였다. 또한 JEUS 7부터 웹 컨텍스트에 대한 중지 명령어는 별도로 제공되지 않는다. JEUS Master Server의 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-session

    idle 시간 기준으로 정렬된 세션들의 정보를 보여준다.

    remove-session

    세션 타임아웃과 무관하게 입력한 타임아웃 동안 access가 없는 세션들을 제거할 때 사용한다.

    show-session-server-backup-table

    세션 서버의 현재 backup table 정보를 보여준다.

  • 설정 변경 관련 명령어

    세션 설정을 추가, 삭제, 수정할 수 있는 명령어들이다. 설정 변경 사항들은 XML에는 적용하지만 실제 운영 중인 서비스(메모리 영역)에 적용하지 않는다. XML만 변경되는 것이며 실제로 서비스에 적용하려면 서버를 재시작해야 한다.

    명령어설명

    show-session-configuration

    세션 관련 설정 정보를 확인한다.

    modify-session-configuration

    세션 관련 설정 정보를 확인하고 수정한다.

  • 세션 서버 관련 명령어

    세션 스토리지 설정을 할 수 있는 명령어들이다. 설정 후 서버를 재시작해야 설정내용들이 적용된다.

    명령어설명

    list-sessionstorages

    현재 존재하는 세션 스토리지의 목록을 보여준다.

    add-sessionstorage

    세션 서버에 세션 스토리지를 추가한다. 여러 개의 세션 스토리지가 있는 경우 이름은 중복 되서는 안된다.

    remove-sessionstorage

    세션 서버에서 세션 스토리지를 제거한다.

    rename-sessionstorage

    세션 스토리지의 이름을 변경한다.

    set-sessionstorage-property

    세션 스토리지의 프로퍼티를 추가/변경한다.

    remove-sessionstorage-property

    세션 스토리지의 프로퍼티를 제거한다.

    add-sessionstorage-scope

    세션 스토리지에 스코프를 추가한다. 여러 개의 스코프가 있는 경우 다른 스코프와 중복되면 안된다. DOMAIN_WIDE 클러스터 모드를 사용하는 경우 DOMAIN_WIDE로 설정하면 해당 스코프를 사용할 수 있다.

    set-sessionstorage-scope

    스코프에 포함될 application이나 cluster를 변경한다.

    remove-sessionstorage-scope

    세션 스토리지에서 스코프를 제거한다.

    set-sessionstorage-scope-session-config

    스코프에 포함된 컨텍스트에서 사용될 세션 관련 설정을 한다.

    list-sessionserver-property

    세션 서버의 프로퍼티 목록을 보여준다.

    set-sessionserver-property

    세션 서버의 프로퍼티를 추가/변경한다.

    remove-sessionserver-property

    세션 서버의 프로퍼티를 제거한다.

4.2.9.1. 공통적용 사항

다음은 모니터링 및 제어 명령어에서 공통적으로 적용되는 옵션에 대한 설명이다. 아래 옵션 중 하나만 설정될 수 있다.

  • [-server <server-name> ] 옵션

    • 각 명령어가 적용될 서버를 지정할 때 사용하는 옵션이다. 옵션을 설정하지 않으면 현재 접속된 서버의 웹 엔진으로 적용된다.

    • 각 명령어의 옵션 설명에서 이 옵션에 대한 설명은 생략한다.

참고
  1. 서버에 즉시 반영이 안되는 설정의 경우 즉, Pending된 설정이 최초의 설정으로 재설정되는 명령어를 수행하면, 서버의 재시작이 필요하다는 안내문(Restart the Server)이 출력되지 않는다.

  2. JEUS Master Server의 경우는 위 옵션 중 하나는 반드시 필요하다. 그렇지만 JEUS Master Server가 아닌 일반 관리 서버에서 해당 명령어를 실행할 경우에는 아래 옵션들이 없을 경우 접속한 서버를 기반으로 명령이 수행된다.

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 ]
                 [-count <count>]
                 [-target <manager-name>]
                 [-id <target-id>]
  • 파라미터

    파라미터설명

    [-s,--simple ]

    출력되는 결과를 Simple format으로 출력한다.

    [-count <count>]

    모니터링으로 확인될 세션들의 갯수를 설정한다. 생략하면 100개가 기본으로 적용된다.

    [-target <manager-name>]

    세션 정보를 보고 싶은 타겟 세션 매니저를 설정한다. 옵션을 주지 않을 경우 서버 내 모든 매니저의 정보를 보여준다.

    [-id <target-id>]

    특정 세션을 검색하기 위해 세션의 ID를 설정한다.

  • 예제

    • 별도 옵션을 사용하지 않는 예

      list-session -server server1
    • [-s,--simple ] 옵션을 사용한 예

      list-session -server server1 --simple

4.2.9.3. remove-session

Idle Time 기준으로 설정한 시간이 지난 세션을 제거한다.

  • 관련 스키마

    jeus-session-server.xsd, jeus-session-domain.xsd

  • alias

    rmsession, rms

  • 사용법

    remove-session [-server <server-name>]
                   [-time,--timeout <timeout(min)>]
  • 파라미터

    파라미터설명

    [-time,--timeout <timeout(min)>]

    세션을 제거할 기준이 되는 타임아웃을 설정한다.

  • 예제

    • [-time,--timeout <timeout(min)>]을 사용한 예

      remove-session -server server1 --timeout 3

4.2.9.4. show-session-server-backup-table

세션 서버의 현재 backup table 정보를 보여준다.

  • 관련 스키마

    jeus-session-server.xsd, jeus-session-domain.xsd

  • alias

    sssbt, sbt

  • 사용법

    show-session-server-backup-table [-server <server-name>]
  • 예제

    show-session-server-backup-table -server server1

4.2.9.5. show-session-configuration

세션 관련 설정 정보를 조회한다.

  • 관련 스키마

    jeus-session-server.xsd, jeus-session-domain.xsd

  • alias

    getsc, ssc

  • 사용법

    show-session-configuration [-server <server-name>]
              [-h, --help]
  • 파라미터

    파라미터설명

    [-server <server-name>]

    웹 엔진에 설정된 세션 설정을 확인한다.

    [-h, --help]

    파라미터 없는 명령어와 동일하며 전체적인 설정 구조 및 파라미터들을 설명한다.

  • 예제

    • [-server <server-name>] 옵션을 사용한 예

      show-session-configuration -server server1

4.2.9.6. modify-session-configuration

세션 관련 설정 정보를 수정한다.

  • 관련 스키마

    jeus-session-server.xsd, jeus-session-domain.xsd

  • alias

    setsc, msc

  • 사용법

    modify-session-configuration [-server <server-name>]
              [-f,--forceLock]
              [-to,--timeout <int timeout>]
              [-mc,--max-session-count <int limit count>]
              [-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>]
              [-sucn,--session-cookie.url-cookie-name <string url-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>]
              [-sca,--session-cookie.same-site <string same-site>]
              [-scc,--session-cookie.comment <string comment>]
  • 파라미터

    파라미터설명

    [-server <server-name>]

    웹 엔진에 설정된 세션 설정을 변경한다.

    [-f, --forceLock]

    설정 변경을 강제로 진행하여 반영한다.

    [-to,--timeout <int timeout>]

    session-config의 세션 타임아웃을 설정한다.

    [-mc,--max-session-count <int maxCount>]

    저장할 세션의 최대 갯수를 설정한다.

    [-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>]

    세션 쿠키의 이름을 설정한다.

    [-sucn,--session-cookie.url-cookie-name <string url-cookie-name>]

    url rewriting을 사용하여 세션을 전달할 때 해당 세션 쿠키의 이름을 설정한다.

    [-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 요청에 의해서만 세션 쿠키를 사용할지를 결정한다.

    [-sca,--session-cookie.same-site <string same-site>]

    세션 ID 쿠키가 사용자 의도와 상관없는 요청에 쓰이는 공격(사이트 간 요청위조)을 방지하는 보안기술을 설정한다.

    [-scc,--session-cookie.comment <string comment>]

    쿠키 버전이 1일 때에 해당 세션 쿠키의 설명을 설정한다.

  • 예제

    • [-server <server-name>] 옵션을 사용한 예

      modify-session-configuration -server server1 -to 40 -sh true -scs true

4.2.9.7. list-sessionstorages

현재 세션서버에 존재하는 세션 스토리지의 목록을 보여준다.

  • 관련 스키마

    jeus-session-server.xsd, jeus-session-domain.xsd

  • alias

    listsessionstorages, listss

  • 사용법

    list-sessionstorages

4.2.9.8. add-sessionstorage

세션 서버에 세션 스토리지를 추가한다. 다른 스토리지와 이름이 중복되서는 안된다.

  • 관련 스키마

    jeus-session-server.xsd, jeus-session-domain.xsd

  • alias

    addsessionstorage, addss, addsessionstor

  • 사용법

    add-sessionstorage <session-storage-name>
                       [-provider <provider>]
                       [-property <property>]
  • 파라미터

    파라미터설명

    <session-storage-name>

    추가할 세션 스토리지의 이름이다.

    [-provider <provider>]

    사용할 Session Manager의 Provider를 설정한다. 예약어를 설정하거나 사용한 패키지를 설정한다.

    예약어 외 전체 패치지 이름을 사용해야 한다. (예: jeus.session.impl.distributed.JeusDistributedWebSessionManagerProvider)

    예약어는 다음과 같다.

    • JEUS : JEUS에서 기본적으로 제공하는 세션 매니저를 사용한다.

    • REDIS : JEUS에서 제공하는 REDIS 세션 매니저를 사용한다.

    • HAZELCAST : JEUS에서 제공하는 HAZELCAST 세션 매니저를 사용한다.

    • RUNTIME : 다른 프로바이더가 존재할 경우 해당 프로바이더를 우선 사용한다. 없을 경우 JEUS 세션 매니저를 사용한다.

    [-property <property >]

    세션 스토리지의 property이다.

  • 예제

    add-sessionstorage sessionStorage1 -provider JEUS -property connect-timeout=10000,full-search-timeout=20000

4.2.9.9. remove-sessionstorage

세션 서버에서 세션 스토리지를 제거한다.

  • 관련 스키마

    jeus-session-server.xsd, jeus-session-domain.xsd

  • alias

    removess, rmss, removesessionstor, rmsessionstor, rm,sessionstorage

  • 사용법

    remove-sessionstorage <session-storage-name>
  • 파라미터

    파라미터설명

    <session-storage-name>

    제거할 세션 스토리지의 이름이다.

  • 예제

    remove-sessionstorage sessionStorage1

4.2.9.10. rename-sessionstorage

세션 스토리지의 이름을 변경한다.

  • 관련 스키마

    jeus-session-server.xsd, jeus-session-domain.xsd

  • alias

    renamesessionstor, renamesessionstor

  • 사용법

    rename-sessionstorage <session-storage-name>
                          -name <new-session-storage-name>
  • 파라미터

    파라미터설명

    <session-storage-name>

    이름을 변경할 세션 스토리지의 이름이다.

    -name <new-session-storage-name>

    새로운 세션 스토리지의 이름이다.

  • 예제

    rename-sessionstorage sessionStorage1 -name new_sessionStorage

4.2.9.11. set-sessionstorage-property

세션 스토리지의 property를 추가하거나 변경할 수 있다.

  • 관련 스키마

    jeus-session-server.xsd, jeus-session-domain.xsd

  • alias

    setsessionstorageproperty, setsessionstorprop, setsstorprop

  • 사용법

    set-sessionstorage-property <session-storage-name>
                               [-key <key-of-property>]
                               [-value <value-of-property>]
                               [-property <property>]
  • 파라미터

    파라미터설명

    <session-storage-name>

    property를 추가할 세션 스토리지의 이름이다.

    [-key <key-of-property>]

    추가하거나 변경할 property의 key이다. 이미 key가 설정되어 있다면 property의 value를 변경하고, 없다면 새로 추가한다.

    [-property] 옵션과 동시에 쓸 수 없다.

    [-value <value-of-property>]

    추가하거나 변경할 property의 value이다.

    [-key] 옵션이 있다면 필수로 입력해야 한다.

    [-property <property >]

    추가하거나 변경할 property이다. 이미 key가 설정되어 있다면 property의 value를 변경하고, 없다면 새로 추가한다.

    [-key] 옵션과 동시에 쓸 수 없다.

  • 예제

    • [-key <key-of-property> -value <value-of-property>] 옵션을 사용한 예

      set-sessionstorage-property sessionStorage1 -key full-search-timeout -value 10000
    • [-property <property>] 옵션을 사용한 예

      set-sessionstorage-property sessionStorage1 -property full-search-timeout=10000,backup-queue-size=200

4.2.9.12. remove-sessionstorage-property

세션 스토리지의 property를 제거할 수 있다.

  • 관련 스키마

    jeus-session-server.xsd, jeus-session-domain.xsd

  • alias

    rmsessionstorageproperty, rmsessionstorprop, rmsstorprop

  • 사용법

    remove-sessionstorage-property <session-storage-name>
                                   -key <key-of-property>
  • 파라미터

    파라미터설명

    <session-storage-name>

    property를 제거할 세션 스토리지의 이름이다.

    -key <key-of-property>

    세션 스토리지에서 제거할 property의 key이다.

  • 예제

    remove-sessionstorage-property sessionStorage1 -key full-search-timeout

4.2.9.13. add-sessionstorage-scope

세션 스토리지에 스코프를 추가한다. 다른 스코프와 이름이 중복되서는 안된다.

  • 관련 스키마

    jeus-session-server.xsd, jeus-session-domain.xsd

  • alias

    addsessionstoragescope, addssscope, addsessionstorscope, addsss

  • 사용법

    add-sessionstorage-scope <scope-name>
                             -target <storage-name>
                             [-clusters <target-cluster-list>]
                             [-applications <target-application-list>]
  • 파라미터

    파라미터설명

    <scope-name>

    추가할 세션 스코프의 이름이다.

    -target <storage-name>

    스코프를 추가할 세션 스토리지의 이름이다. 필수로 입력해야 한다.

    [-clusters <target-cluster-list>]

    스코프에 포함될 클러스터 리스트이다. [-applications] 옵션 과 동시에 쓸 수 없다.

    [-applications <target-application-list>]

    스코프에 포함될 애플리케이션 리스트이다. [-clusters] 옵션과 동시에 쓸 수 없다.

  • 예제

    • [-clusters <target-cluster-list> ] 옵션을 사용한 예

      add-sessionstorage-scope scope1 -target sessionStorage -clusters cluster1,cluster2
    • [-applications <target-application-list>] 옵션을 사용한 예

      add-sessionstorage-scope scope1 -target sessionStorage -applications app1,app2

4.2.9.14. set-sessionstorage-scope

스코프에 포함될 클러스터나 애플리케이션을 설정한다. 기존에 설정되어 있던 target-application이나 target-cluster가 제거되고 새롭게 설정된다.

  • 관련 스키마

    jeus-session-server.xsd, jeus-session-domain.xsd

  • alias

    setsessionstoragescope, setsessionstorscope, setsss, setssscope

  • 사용법

    set-sessionstorage-scope <scope-name>
                            [-clusters <target-cluster-list>]
                            [-applications <target-application-list>]
  • 파라미터

    파라미터설명

    <scope-name>

    추가할 세션 스코프의 이름이다.

    [-clusters <target-cluster-list>]

    스코프에 포함될 클러스터의 리스트이다. [-applications] 옵션과 동시에 쓸 수 없다.

    [-applications <target-application-list>]

    스코프에 포함될 애플리케이션 리스트이다. [-clusters] 옵션 과 동시에 쓸 수 없다.

  • 예제

    • [-clusters <target-cluster-list> ] 옵션을 사용한 예

      set-sessionstorage-scope scope1 -clusters cluster1,cluster2
    • [-applications <target-application-list>] 옵션을 사용한 예

      set-sessionstorage-scope scope1 -applications app1,app2

4.2.9.15. remove-sessionstorage-scope

세션 스토리지에서 스코프를 제거한다.

  • 관련 스키마

    jeus-session-server.xsd, jeus-session-domain.xsd

  • alias

    removessscope, rmssscope, rmsessionstorscope, removesessionstoragescope

  • 사용법

    remove-sessionstorage-scope <scope-name>
  • 파라미터

    파라미터설명

    <scope-name>

    제거할 세션 스코프의 이름이다.

  • 예제

    remove-sessionstorage-scope scope1

4.2.9.16. set-sessionstorage-scope-session-config

스코프에 포함된 컨텍스트에서 사용될 세션 관련 설정을 할 수 있다.

  • 관련 스키마

    jeus-session-server.xsd, jeus-session-domain.xsd

  • alias

    setsessionstoragescopesessionconfig, setssssc, setsessionstorscopesc

  • 사용법

    set-sessionstorage-scope-session-config <scope-name>
                                      [-timeout <timeout>]
                                      [-msc, --max-session-count <limit-count>]
                                      [-rp, --reload-persistent <reload-persistent>]
                                      [-tm, --tracking-mode <tracking-mode>]
                                      [-sc, --session-cookie <session-cookie>]
  • 파라미터

    파라미터설명

    <scope-name>

    세션관련 설정을 할 스코프의 이름이다.

    [-timeout <timeout>]

    session-config의 세션 타임아웃을 설정한다. (기본값: 30)

    [-msc, --max-session-count <limit-count>]

    저장할 세션의 최대 갯수를 설정한다. (기본값: -1(무제한))

    [-rp, --reload-persistent <reload-persistent>]

    session-config의 Reload Persistent를 설정한다. (기본값: false)

    [-tm, --tracking-mode <tracking-mode>]

    추가하거나 변경할 property이다. 이미 key가 설정되어 있다면 property의 value를 변경하고, 없다면 새로 추가한다.

    property에 들어갈 수 있는 key는 다음과 같다.

    • cookie : session-config의 트래킹 모드 중 쿠키를 설젛한다. value의 type은 Boolean이다. (기본값: true)

    • url : session-config의 트래킹 모드 중 URL rewriting 설젛한다. value의 type은 Boolean이다. (기본값: false)

    • ssl : session-config의 트래킹 모드 중 SSL를 설젛한다. value의 type은 Boolean이다. (기본값: false)

    [-sc, --session-cookie <session-cookie>]

    추가하거나 변경할 property이다. 이미 key가 설정되어 있다면 property의 value를 변경하고, 없다면 새로 추가한다.

    property에 들어갈 수 있는 key는 다음과 같다.

    • cookie-name : 쿠키를 사용하여 세션을 전달할 때 해당 세션 쿠키의 이름을 설정한다. value의 type은 String이다. (기본값: JSESSIONID)

    • url-cookie-name : url rewriting을 사용하여 세션을 전달할 때 해당 세션 쿠키의 이름을 설정한다. value의 type은 String이다. (기본값: jsessionid)

    • version : 쿠키 ID 버전을 설정한다. value의 type은 Integer이다. (기본값: 0)

    • domain : 세션 쿠키가 적용되는 도메인 이름을 설정한다. value의 type은 String이다. 한 글자 이상의 문자열이여야 한다.

    • path : 세션 쿠키가 적용되는 경로를 설정한다. value의 type은 String이다. 한 글자 이상의 문자열이여야 한다.

    • max-age : 브라우저에서 세션 쿠키의 유지 시간을 결정한다. value의 type은 Integer이다. (기본값: -1)

    • secure : 세션 ID 쿠키의 Secure 속성을 설정한다. true로 설정하면 세션 ID 쿠키는 오직 Secure HTTPS 커넥션으로 보내진다. value의 type은 Boolean이다. (기본값: false)

    • http-only : 브라우저가 HTTP 요청에 의해서만 세션 쿠키를 사용할지를 결정한다. value의 type은 Boolean이다. (기본값: true)

    • same-site : 세션 ID 쿠키가 사용자 의도와 상관없는 요청에 쓰이는 공격(사이트 간 요청위조)을 방지하는 보안기술을 설정한다. value의 Type은 [None, Strict, Lax, Disable] 중 하나이다.

    • comment : 해당 쿠키에 대한 목적 또는 설명을 기록한다. value의 type은 String이다. 한 글자 이상의 문자열이여야 한다.

  • 예제

    set-sessionstorage-scope-session-config scope1 -timeout 20
    -shared true -session-cookie secure=true,http-only=true,path=/ -tracking-mode cookie=true

4.2.9.17. list-sessionserver-property

세션 서버의 property 목록을 보여준다.

  • 관련 스키마

    jeus-session-server.xsd, jeus-session-domain.xsd

  • alias

    listsessionserverproperty, listssp, listsessionservprop

  • 사용법

    list-sessionserver-property

4.2.9.18. set-sessionserver-property

세션 서버의 property를 추가하거나 변경 할 수 있다.

  • 관련 스키마

    jeus-session-server.xsd, jeus-session-domain.xsd

  • alias

    setsessionserverproperty, setsessionservprop, setsservprop

  • 사용법

    set-sessionserver-property [-key <key-of-property>]
                               [-value <value-of-property>]
                               [-property <property>]
  • 파라미터

    파라미터설명

    [-key <key-of-property>]

    추가하거나 변경할 property의 key이다. 이미 key가 설정되어 있다면 property의 value를 변경하고, 없다면 새로 추가한다.

    [-property] 옵션과 동시에 쓸 수 없다.

    [-value <value-of-property>]

    추가하거나 변경할 property의 value이다.

    [-key] 옵션이 있다면 필수로 입력해야 한다.

    [-property <property>]

    추가하거나 변경할 property이다. 이미 key가 설정되어 있다면 property의 value를 변경하고, 없다면 새로 추가한다.

    [-key] 옵션과 동시에 쓸 수 없다.

  • 예제

    • [-key <key-of-property> -value <value-of-property>] 옵션을 사용한 예

      set-sessionserver-property -key encoding-rule -value base64
    • [-property <property>] 옵션을 사용한 예

      set-sessionserver-property -property encoding-rule=raw

4.2.9.19. remove-sessionserver-property

세션 서버의 property를 제거할 수 있다.

  • 관련 스키마

    jeus-session-server.xsd, jeus-session-domain.xsd

  • alias

    removesessionserverproperty, rmsessionservprop, rmsservprop

  • 사용법

    remove-sessionserver-property -key <key-of-property>
  • 파라미터

    파라미터설명

    -key <key-of-property>

    세션 서버에서 제거할 property의 key이다.

  • 예제

    remove-sessionserver-property -key excluded-servers

4.2.10. JMS 엔진 관련 명령어

JMS 엔진 명령어는 다음과 같다.

명령어설명

ban-jms-client

지정된 JMS 클라이언트와의 연결을 강제로 끊는다.

add-jms-connection-factory

새로운 Connection Factory를 추가한다.

add-jms-destination

새로운 Destination을 추가한다.

add-jms-durable-subscription

새로운 Durable Subscription을 추가한다.

add-jms-message-sort

새로운 Message Sort를 추가한다.

add-jms-quota

새로운 Quota를 추가한다.

add-jms-service-config

새로운 Service Config를 추가한다.

commit-jms-pending-transaction

지정된 pending 트랜잭션을 강제로 commit한다.

control-jms-destination

지정된 Destination의 서비스 상태를 제어한다.

control-jms-durable-subscription

지정된 Durable Subscription의 서비스 상태를 제어한다.

delete-jms-messages

지정된 Destination 안의 지정된 메시지를 삭제한다.

export-jms-messages

지정된 Destination 안의 지정된 메시지를 XML 형태로 내보낸다.

import-jms-messages

지정된 Destination로 내보내진 XML 형태의 메시지를 가져온다.

list-jms-clients

접속 중인 클라이언트 목록을 조회하고 정보를 출력한다.

list-jms-connection-factories

Connection Factory 목록을 조회하거나 지정된 Conntection Factory의 정보를 출력한다.

list-jms-destinations

Destination 목록을 조회하거나 지정된 Destination 정보를 출력한다.

list-jms-durable-subscriptions

Durable Subscription 목록을 조회한다.

list-jms-message-sorts

Message Sort 목록을 조회한다.

list-jms-messages

지정된 Destination 안의 메시지 정보를 조회한다.

list-jms-pending-transactions

pending 트랜잭션 목록을 출력한다.

list-jms-quotas

Quota 목록을 조회하거나 지정된 Quota 정보를 출력한다.

list-jms-service-configs

Service Config 목록을 조회하거나 지정된 Service Config 정보를 출력한다.

modify-jms-connection-factory

지정된 Connection Factory 정보를 수정한다.

modify-jms-destination

지정된 Destination 정보를 수정한다.

modify-jms-durable-subscription

지정된 Durable Subscription 정보를 수정한다.

modify-jms-message-sort

지정된 Message Sort 정보를 수정한다.

modify-jms-quota

지정된 Quota 정보를 수정한다.

modify-jms-service-config

지정된 Service Config 정보를 수정한다.

move-jms-messages

지정된 Destination 안의 지정된 메시지를 주어진 Destination으로 옮긴다.

remove-jms-connection-factory

지정된 Connection Factory를 제거한다.

remove-jms-destination

지정된 Destination을 제거한다.

remove-jms-durable-subscription

지정된 Durable Subscription을 제거한다.

remove-jms-message-sort

지정된 Message Sort를 제거한다.

remove-jms-quota

지정된 Quota를 제거한다.

remove-jms-service-config

지정된 Service Config를 제거한다.

set-jms-engine-quota

JMS 엔진의 Quota를 설정한다.

set-jms-failover-check

Failover 전 JMS 엔진의 생존 여부 확인을 위한 옵션을 설정한다.

set-jms-persistence-store

JMS 엔진의 Persistence Store를 설정한다.

view-jms-message

지정된 메시지의 상세한 정보를 조회한다.

4.2.10.1. 공통적용 사항

다음은 JMS 엔진 관련 명령어에서 공통적으로 적용되는 옵션에 대한 설명이다. 아래 옵션 중 하나만 설정될 수 있다.

  • [-cluster <cluster-name> ] 옵션

    • 각 명령어가 적용될 클러스터를 지정할 때 사용하는 옵션이다. Master Server에 연결된 상태에서만 사용 가능하다. MS에 접속된 상태에서는 해당 서버에 명령어가 적용된다.

    • Destination에 관련된 명령어에서만 지원한다.

  • [-server <server-name> ] 옵션

    • 각 명령어가 적용될 서버를 지정할 때 사용하는 옵션이다. Master Server에 연결된 상태에서만 사용 가능하다. 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를 입력한다.

  • 예제

    [MASTER]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'.
    [MASTER]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과 동일한 값이 지정된다.

  • 예제

    [MASTER]domain1.adminServer>add-jms-destination -server adminServer -type queue -name MyQueue
    Executed Successfully.
    View the results using 'list-jms-destinations -server adminServer -name MyQueue'.
    [MASTER]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. add-jms-durable-subscription

동적으로 JMS 엔진에 새로운 Durable Subscription을 추가한다.

  • alias

    add-durable, adddur, createdur

  • 사용법

    add-jms-durable-subscription -cluster <cluster-name> | -server <server-name>
                                 -clientid <client-id>
                                 -name <durable-subscription-name>
                                 -topic <topic-name>
                                 [-shared]
  • 파라미터

    파라미터설명

    -cluster <cluster-name> | -server <server-name>

    Durable Subscription이 속할 클러스터 또는 서버를 지정한다.

    -clientid <client-id>

    subscribe 하게 될 client의 id를 지정한다.

    -name <durable-subscription-name>

    새로 생성할 Durable Subscription의 이름을 입력한다.

    이 이름은 JMS 엔진 내에서 다른 Durable Subscription과 중복되지 않도록 주의한다.

    -topic <topic-name>

    Durable Subscription에 대한 Topic의 이름을 입력한다.

    [-shared]

    Shared 형태의 Durable Subscription을 생성할 경우 사용하는 옵션이다.

  • 예제

    [MASTER]domain1.adminServer>add-jms-durable-subscription -server adminServer -clientid testClient -name testDurable -topic testTopic
    Executed Successfully.
    View the results using 'list-jms-durable-subscriptions -server adminServer'.
    [MASTER]domain1.adminServer>list-jms-durable-subscriptions -server adminServer
    Durable Subscription Information
    ================================================================================
    +--------------+-----------+--------+------------------+-----------------------+
    | Durable Name | Client ID | Shared | Message Selector |   Remaining Messages  |
    +--------------+-----------+--------+------------------+-----------------------+
    | testDurable  | testClient| false  |                  |                     0 |
    +--------------+-----------+--------+------------------+-----------------------+
    ================================================================================

4.2.10.5. add-jms-message-sort

JMS 엔진에 새로운 Message Sort를 추가한다.

  • alias

    add-message-sort, addmsgsort

  • 사용법

    add-jms-message-sort -server <server-name>
                         -name <message-sort-name>
                         -key <key>
                         [-type <type>]
                         -direction <direction>
  • 파라미터

    파라미터설명

    -server <server-name>

    Message Sort가 속할 서버를 지정한다.

    -name <message-sort-name>

    새로 생성할 Message Sort의 이름을 입력한다.

    이 이름은 JMS 엔진 내에서 다른 Message Sort와 중복되지 않도록 주의한다.

    -key <key>

    메시지 정렬의 기준이 되는 Key를 입력한다.

    [-type <type>]

    Key의 타입을 입력한다.

    -direction <direction>

    메시지 정렬 순서를 입력한다.

  • 예제

    [MASTER]domain1.adminServer>add-jms-message-sort -server adminServer -name testSort -key JMSPriority -type Integer -direction Ascending
    Executed successfully, but some configurations were not applied dynamically. It might be necessary to restart the server.
    View the results using 'list-jms-message-sorts -server adminServer -name testSort'.
    [MASTER]domain1.adminServer>list-jms-message-sorts -server adminServer -name testSort
    Detailed Message Sort Information
    =============================================================
    testSort
    
    +---------------------------------------------+-------------+
    | Message Sort Name                           | testSort    |
    | Key                                         | JMSPriority |
    | Type                                        | INTEGER     |
    | Direction                                   | ASCENDING   |
    +---------------------------------------------+-------------+
    =============================================================

4.2.10.6. add-jms-quota

JMS 엔진에 새로운 Quota를 추가한다.

  • alias

    add-quota, addquota

  • 사용법

    add-jms-quota -server <server-name>
                  -name <quota-name>
                  [-byte <max-bytes>]
                  [-msg <max-messages>]
                  [-shared <shared>]
  • 파라미터

    파라미터설명

    -server <server-name>

    Quota가 속할 서버를 지정한다.

    -name <quota-name>

    새로 생성할 Quota의 이름을 입력한다. 이 이름은 JMS 엔진 내에서 다른 Quota와 중복되지 않도록 주의한다.

    [-byte <max-bytes>]

    제한 할 최대 Byte를 입력한다 .

    [-msg <max-messages>]

    제한 할 최대 메시지 수를 입력한다.

    [-shared <shared>]

    Quota를 여러 Destination에서 공유하여 사용할지 여부를 입력한다.

  • 예제

    [MASTER]domain1.adminServer>add-jms-quota -server adminServer -name testQuota -byte 128M -msg 1M -shared false
    Executed successfully, but some configurations were not applied dynamically. It might be necessary to restart the server.
    View the results using 'list-jms-quotas -server adminServer -name testQuota'.
    [MASTER]domain1.adminServer>list-jms-quotas -server adminServer -name testQuota
    Detailed Quota Information
    ===========================================================
    testQuota
    
    +--------------------------------------------+------------+
    | Quota Name                                 | testQuota  |
    | Max Bytes                                  | 128M       |
    | Max Messages                               | 1M         |
    | Shared                                     | false      |
    +--------------------------------------------+------------+
    ===========================================================

4.2.10.7. add-jms-service-config

JMS 엔진에 새로운 서비스를 추가한다.

  • alias

    add-service-config, addjmsservice

  • 사용법

    add-jms-service-config -server <server-name>
                           -name <service-name>
                           [-limit <client-limit>]
                           [-timeout <client-keepalive-timeout>]
                           [-listener <listener>]
                           [-virtual]
                           [-address <address>]
                           [-port <port>]
  • 파라미터

    파라미터설명

    -server <server-name>

    서비스가 속할 서버를 지정한다.

    -name <service-name>

    새로 생성할 서비스의 이름을 입력한다. 이 이름은 JMS 엔진 내에서 다른 서비스와 중복되지 않도록 주의한다.

    [-limit <client-limit>]

    허용 되는 client의 최대값을 입력한다 .

    [-timeout <client-keepalive-timeout>]

    비정상 종료 될 때 재연결을 기다릴 시간을 입력한다.

    [-listener <listener>]

    서비스의 Listener를 입력한다 .

    [-virtual]

    Virtual Listener를 선택할 경우 사용하는 옵션이다 .

    [-address <address>]

    Virtual Listener의 address를 입력한다 .

    [-port <port>]

    Virtual Listener의 port를 입력한다.

  • 예제

    [MASTER]domain1.adminServer>add-jms-service-config -server adminServer -name testService -limit 1000 -timeout 30 -listener base
    Executed Successfully.
    View the results using 'list-jms-service-configs -server adminServer -name testService'.
    [MASTER]domain1.adminServer>list-jms-service-configs -server adminServer -name testService
    Detailed Service Config Information
    ===================================================================
    testService
    
    +---------------------------------------------------+-------------+
    | Service Config Name                               | testService |
    | Client Limit                                      |        1000 |
    | Client Keepalive Timeout                          |          30 |
    | Listener Name                                     | base        |
    +---------------------------------------------------+-------------+
    ===================================================================

4.2.10.8. 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.9. 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.10. 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을 제어할지를 지정한다.

  • 예제

    [MASTER]domain1.adminServer>control-jms-destination -server adminServer -dest ExamplesQueue -suspend -produce
    Controlling destination is successful in ExamplesQueue : [production] is suspended
    
    [MASTER]domain1.adminServer>control-jms-destination -server adminServer -dest ExamplesQueue -resume -produce
    Controlling destination is successful in ExamplesQueue : [production] is resumed

4.2.10.11. control-jms-durable-subscription

JMS 엔진에서 특정 Durable Subscription의 상태를 제어한다.

  • alias

    control-durable, durctrl

  • 사용법

    control-jms-durable-subscription -cluster <cluster-name> | -server <server-name>
                                     -name <durable-subscription-name>
                                     -suspend | -resume
  • 파라미터

    파라미터설명

    -cluster <cluster-name> | -server <server-name>

    Durable Subscription이 속한 클러스터 또는 서버를 지정한다.

    -name <durable-subscription-name>

    제어할 Durable Subscription의 이름이다.

    -suspend | -resume

    제어할 Durable Subscription의 상태이다.

    • suspend : 해당 Durable Subscription의 서비스가 일시 정지된다.

    • resume : 해당 Durable Subscription의 서비스가 재개된다.

  • 예제

    [MASTER]domain1.adminServer>control-jms-durable-subscription -server adminServer -name testDS -suspend
    Executed Successfully
    View the results using 'list-jms-durable-subscriptions -server adminServer'.
    [MASTER]domain1.adminServer>list-jms-durable-subscriptions -server adminServer
    Durable Subscription Information
    ================================================================================
    +----------+-------+--------+------------+---------------------+---------------+
    |  Durable |Client | Shared |   Message  |  Remaining Messages |   Suspended   |
    |   Name   |  ID   |        |  Selector  |      (current)      |   (current)   |
    +----------+-------+--------+------------+---------------------+---------------+
    | testDS   | testDS| false  |            |                   0 | true          |
    +----------+-------+--------+------------+---------------------+---------------+
    ================================================================================

4.2.10.12. 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.13. 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를 지정하거나 모든 메시지를 지정할 수 있다.

  • 예제

    [MASTER]domain1.adminServer>export-jms-messages -server adminServer -dest ExamplesQueue -all -path exported.xml
    Successfully exported 5 messages.

4.2.10.14. 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가 존재하는 경우 덮어 쓴다.

  • 예제

    [MASTER]domain1.adminServer>list-jms-messages -server adminServer -dest ExamplesQueue
    There are no messages in ExamplesQueue.
    
    [MASTER]domain1.adminServer>import-jms-messages -server adminServer -dest ExamplesQueue -path exported.xml
    Successfully imported 5 of 5 messages.
    [MASTER]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.15. list-jms-clients

현재 접속해 있는 모든 클라이언트의 목록을 조회한다.

  • alias

    jmsclient, jmsentry

  • 사용법

    list-jms-clients -server <server-name>
  • 파라미터

    파라미터설명

    -server <server-name>

    클라이언트의 목록을 조회할 서버를 지정한다.

  • 예제

    [MASTER]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.16. 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에 관한 간략한 정보가 출력된다.

  • 예제

    [MASTER]domain1.adminServer>list-jms-connection-factories -server adminServer
    Connection Factory Information
    ================================================================================
    +-------------------------------------+--------------------------------+-------+
    |             Factory Name            |           Export Name          |  Type |
    +-------------------------------------+--------------------------------+-------+
    | ConnectionFactory                   | ConnectionFactory              | nonxa |
    | XAConnectionFactory                 | XAConnectionFactory            | xa    |
    +-------------------------------------+--------------------------------+-------+
    ================================================================================
    
    [MASTER]domain1.adminServer>list-jms-connection-factories -server adminServer -name ConnectionFactory
    ===================================================================
    ConnectionFactory
    
    +---------------------------------------------+-------------------+
    | Factory Name                                | ConnectionFactory |
    | Export Name                                 | ConnectionFactory |
    | Type                                        | nonxa             |
    | Client ID                                   | not-set           |
    | Max Client Session Threads                  |               100 |
    | Clustered                                   | false             |
    | Broker Selection Policy                     | round-robin       |
    +---------------------------------------------+-------------------+
    ===================================================================
    
    ================================================================================
    +------------------------------------------------------------------------------+
    |                                   Addresses                                  |
    +------------------------------------------------------------------------------+
    | 192.168.0.26:9741(JMSServiceChannel-internal)                                |
    +------------------------------------------------------------------------------+
    ================================================================================

4.2.10.17. 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에 대한 간략한 정보가 출력된다.

  • 예제

    [[MASTER]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
    ================================================================================
    
    [MASTER]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.18. list-jms-durable-subscriptions

JMS 엔진에 등록되어 있는 모든 Durable Subscription의 정보를 출력한다.

  • alias

    durable, dur

  • 사용법

    list-jms-durable-subscriptions -cluster <cluster-name> | -server <server-name>
  • 파라미터

    파라미터설명

    -cluster <cluster-name> | -server <server-name>

    Durable Subscription의 목록을 조회할 클러스터나 서버를 지정한다.

  • 예제

    [MASTER]domain1.adminServer>list-jms-durable-subscriptions -server adminServer
    Durable Subscription Information
    ================================================================================
    +--------------+-----------+--------+------------------+-----------------------+
    | Durable Name | Client ID | Shared | Message Selector |   Remaining Messages  |
    +--------------+-----------+--------+------------------+-----------------------+
    | testDurable  | testClient| false  |                  |                     5 |
    +--------------+-----------+--------+------------------+-----------------------+
    ================================================================================

4.2.10.19. list-jms-message-sorts

JMS 엔진에 등록되어 있는 모든 Message Sort의 목록을 조회하거나 지정한 Message Sort의 정보를 출력한다.

  • alias

    list-message-sorts, msgsort

  • 사용법

    list-jms-destinations -server <server-name>
                          [-name <message-sort-name>]
  • 파라미터

    파라미터설명

    -server <server-name>

    Message Sort가 속한 서버를 지정한다.

    [-name <message-sort-name>]

    정보를 출력할 Message Sort의 이름이다. 지정하지 않으면 모든 Message Sort에 대한 간략한 정보가 출력된다.

  • 예제

    [[MASTER]domain1.adminServer>list-jms-message-sorts -server adminServer
    Message Sort Information
    =============================================================
    +-----------------------------------+-------------+---------+
    |         Message Sort Name         |     Key     |   Type  |
    +-----------------------------------+-------------+---------+
    | testSort                          | JMSPriority | INTEGER |
    +-----------------------------------+-------------+---------+
    =============================================================
    
    [[MASTER]domain1.adminServer>list-jms-message-sorts -server adminServer -name testSort
    Detailed Message Sort Information
    =============================================================
    testSort
    
    +---------------------------------------------+-------------+
    | Message Sort Name                           | testSort    |
    | Key                                         | JMSPriority |
    | Type                                        | INTEGER     |
    | Direction                                   | DESCENDING  |
    +---------------------------------------------+-------------+
    =============================================================

4.2.10.20. 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>]

    특정 시점 이전에 들어온 메시지를 선택할 때 그 시점을 지정한다.

  • 예제

    [MASTER]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.21. list-jms-pending-transactions

indoubt 상태의 트랜잭션 목록들을 조회한다.

  • alias

    jmspt, pt

  • 사용법

    list-jms-pending-transactions -server <server-name>
  • 파라미터

    파라미터설명

    -server <server-name>

    indoubt 상태인 트랜잭션을 조회할 서버를 지정한다.

4.2.10.22. list-jms-quotas

JMS 엔진에 등록되어 있는 모든 Quota의 목록을 조회하거나 지정한 Quota의 정보를 출력한다.

  • alias

    list-quotas, jmsquota

  • 사용법

    list-jms-quotas -server <server-name>
                    [-name <quota-name>]
  • 파라미터

    파라미터설명

    -server <server-name>

    Quota가 속한 서버를 지정한다.

    [-name <quota-name>]

    정보를 출력할 Quota의 이름이다. 지정하지 않으면 모든 Quota에 대한 간략한 정보가 출력된다.

  • 예제

    [[MASTER]domain1.adminServer>list-jms-quotas -server adminServer
    Quota Information
    ====================================================
    +-----------------------------+-----------+--------+
    |          Quota Name         | Max Bytes | Shared |
    +-----------------------------+-----------+--------+
    | testQuota                   | 128M      | false  |
    +-----------------------------+-----------+--------+
    ====================================================
    
    [MASTER]domain1.adminServer>list-jms-quotas -server adminServer -name testQuota
    Detailed Quota Information
    ===========================================================
    testQuota
    
    +---------------------------------------------+-----------+
    | Quota Name                                  | testQuota |
    | Max Bytes                                   | 128M      |
    | Max Messages                                | 1M        |
    | Shared                                      | false     |
    +---------------------------------------------+-----------+
    ===========================================================

4.2.10.23. list-jms-service-configs

JMS 엔진에 등록되어 있는 모든 서비스의 목록을 조회하거나 지정한 서비스의 정보를 출력한다.

  • alias

    list-service-config, jmsservice

  • 사용법

    list-jms-service-configs -server <server-name>
                             [-name <service-name>]
  • 파라미터

    파라미터설명

    -server <server-name>

    서비스가 속한 서버를 지정한다.

    [-name <service-name>]

    정보를 출력할 서비스의 이름이다. 지정하지 않으면 모든 서비스에 대한 간략한 정보가 출력된다.

  • 예제

    [[MASTER]domain1.adminServer>list-jms-service-configs -server adminServer
    Service Config Information
    ================================================================================
    +------------------------------+---------------------+-------------------------+
    |      Service Config Name     |    Listener Name    |     Virtual Listener    |
    +------------------------------+---------------------+-------------------------+
    | default                      | jms                 |                         |
    | testService                  | base                |                         |
    +------------------------------+---------------------+-------------------------+
    ================================================================================
    
    [MASTER]domain1.adminServer>list-jms-service-configs -server adminServer -name testService
    Detailed Service Config Information
    ===================================================================
    testService
    
    +---------------------------------------------------+-------------+
    | Service Config Name                               | testService |
    | Client Limit                                      |        1000 |
    | Client Keepalive Timeout                          |          30 |
    | Listener Name                                     | base        |
    +---------------------------------------------------+-------------+
    ===================================================================

4.2.10.24. modify-jms-connection-factory

지정된 Connection Factory의 정보를 수정한다.

  • alias

    modify-connection-factory, modifyconf

  • 사용법

    modify-jms-connection-factory -server <server-name>
                                  -name <factory-name>
                                  [-type <factory-type>]
                                  [-service <service-name>]
                                  [-export <export-name>]
                                  [-clientid <client-id>]
                                  [-policy <server-selection-policy>]
                                  [-time <request-blocking-time>]
                                  [-re <reconnect-enabled>]
                                  [-period <reconnect-period>]
                                  [-interval <reconnect-interval>]
  • 파라미터

    파라미터설명

    -server <server-name>

    대상이 되는 서버를 입력한다.

    -name <factory-name>

    수정할 Connection Factory의 이름을 입력한다.

    [-type <factory-type>]

    Connection Factory의 type을 입력한다.

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

    • nonxa

    • xa

    • queue

    • topic

    • xaqueue

    • xatopic

    [-service <service-name>]

    Connection Factory의 서비스를 입력한다.

    [-export <export-name>]

    Connection Factory의 JNDI 이름을 입력한다.

    이 이름은 JEUS JNDI 서버 내에서 다른 객체와 중복되지 않도록 주의한다.

    [-clientid <client-id>]

    Connection Factory로부터 생성한 커넥션에 부여할 클라이언트 ID를 입력한다.

    [-policy <server-selection-policy>]

    커넥션을 생성할 때 채널 선택을 결정하는 정책을 입력한다.

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

    • Round-robin

    • Random

    [-time <request-blocking-time>]

    클라이언트에서 응답을 기다리는 시간을 입력한다.

    [-re <reconnect-enabled>]

    연결이 끊어질 때 재연결 여부를 입력한다.

    [-period <reconnect-period>]

    재연결을 시도할 최대 시간을 입력한다.

    [-interval <reconnect-interval>]

    재연결을 시도할 때 시간 간격을 입력한다.

  • 예제

    [MASTER]domain1.adminServer>modify-jms-connection-factory -server adminServer -name MyConnectionFactory -type xa -service testService -export MyCF -clientid MyId -policy Random
    Executed successfully, but some configurations were not applied dynamically. It might be necessary to restart the server.
    View the results using 'list-jms-connection-factories -server adminServer -name MyConnectionFactory'.
    [MASTER]domain1.adminServer>list-jms-connection-factories -server adminServer -name MyConnectionFactory
    Detailed Connection Factory Information
    ====================================================================
    MyConnectionFactory
    
    +--------------------------------------------+---------------------+
    | Factory Name                               | MyConnectionFactory |
    | Export Name                                | MyCF                |
    | Type                                       | xa                  |
    | Client ID                                  | MyId                |
    | Max Client Session Threads                 |                 100 |
    | Clustered                                  | false               |
    | Server Selection Policy                    | Random              |
    +--------------------------------------------+---------------------+
    ====================================================================
    
    ================================================================================
    +------------------------------------------------------------------------------+
    |                                   Addresses                                  |
    +------------------------------------------------------------------------------+
    | 192.168.13.13:9736(JMSServiceChannel-testService)                            |
    +------------------------------------------------------------------------------+
    ================================================================================

4.2.10.25. modify-jms-destination

지정된 Destination의 정보를 수정한다.

  • alias

    modify-destination, modifydest

  • 사용법

    modify-jms-destination -cluster <cluster-name> | -server <server-name>
                           -name <destination-name>
                           [-type <destination-type>]
                           [-export <export-name>]
                           [-subLimit <subscription-limit>]
                           [-quota <quota>]
                           [-pendLimit <max-pending-limit>]
                           [-dispatch <resume-dispatch-factor>]
                           [-sort <message-sort>]
                           [-deadLetter <dead-letter-destination>]
                           [-policy <expiration-policy>]
                           [-delay <redelivery-delay>]
  • 파라미터

    파라미터설명

    -cluster <cluster-name> | -server <server-name>

    수정할 Destination이 속한 클러스터 또는 서버를 입력한다.

    -name <destination-name>

    수정할 Destination의 이름을 입력한다.

    [-type <destination-type>]

    Destination의 type을 입력한다. (queue 또는 topic)

    [-export <export-name>]

    Destination의 JNDI 이름을 입력한다.

    이 이름은 JEUS JNDI 서버 내에서 다른 객체와 중복되지 않도록 주의한다.

    [-subLimit <subscription-limit>]

    Destination에 접근가능한 Consumer의 최대값을 입력한다.

    [-quota <quota>]

    Destination의 메시지 데이터 제한을 위한 Quota를 입력한다.

    [-pendLimit <max-pending-limit>]

    ACKNOWLEDGE를 수신하지 않은 메시지의 최대 허용 범위를 입력한다.

    [-disptach <resume-dispatch-factor>]

    Pending 메시지가 다시 Dispatch 될 수 있는 인수를 입력한다.

    [-sort <message-sort>]

    Destination에 적용 될 Message Sort를 입력한다.

    [-deadLetter <dead-letter-destination>]

    처리 되지 못한 메시지들을 보관 할 Destination의 이름을 입력한다.

    [-policy <expiration-policy>]

    만료된 메시지들을 처리할 방법을 입력한다.

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

    • Delete

    • Redirect

    [-delay <redelivery-delay>]

    메시지가 재전송 되기까지의 지연시간을 입력한다.

  • 예제

    [MASTER]domain1.adminServer>modify-jms-destination -server adminServer
    -name MyQueue -type topic -export MyTopic -deadLetter ExamplesTopic
    Executed successfully, but some configurations were not applied dynamically. It might be necessary to restart the server.
    View the results using 'list-jms-destinations -server adminServer -name MyQueue'.
    [MASTER]domain1.adminServer>list-jms-destinations -server adminServer -name MyQueue
    Detailed destination information in Server adminServer
    ======================================================================
    MyQueue
    
    +----------------------------------------------------+---------------+
    | Export Name                                        | MyTopic       |
    | Type                                               | Topic         |
    | Dead Letter Destination                            | ExamplesTopic |
    | Consumer Count                                     |             0 |
    | Processed Messages                                 |             0 |
    | Remaining Messages (current)                       |             0 |
    | Remaining Messages (high mark)                     |             0 |
    | Pending Messages                                   | -             |
    | Dispatched Messages                                | -             |
    | Delivered Messages                                 |             0 |
    | Expired Messages                                   |             0 |
    | Moved Messages                                     | -             |
    | Removed Messages                                   | -             |
    | Poisoned Messages                                  |             0 |
    | Memory Usage (current)                             | 0kb           |
    | Memory Usage (high mark)                           | 0kb           |
    | Production Suspended                               | false         |
    | Consumption Suspended                              | false         |
    +----------------------------------------------------+---------------+
    ======================================================================

4.2.10.26. modify-jms-durable-subscription

지정된 Durable Subscription의 정보를 수정한다.

  • alias

    modify-durable-subscription, modify-durable, modifydur

  • 사용법

    modify-jms-durable-subscription -cluster <cluster-name> | -server <server-name>
                                    -name <durable-subscription-name>
                                    [-clientid <client-id>]
                                    [-topic <topic-name>]
                                    [-shared <shared>]
                                    [-selector <message-selector>]
                                    [-sort <message-sort>]
  • 파라미터

    파라미터설명

    -cluster <cluster-name> | -server <server-name>

    수정할 Durable Subscription이 속한 클러스터 또는 서버를 입력한다.

    -name <durable-subscription-name>

    수정할 Durable Subscription의 이름을 입력한다.

    [-clientid <client-id>]

    subscribe 하게 될 client의 id를 지정한다.

    [-topic <topic-name>]

    Durable Subscription에 대한 Topic의 이름을 입력한다.

    [-shared <shared>]

    Durable Subscription의 Shared 여부를 입력한다.

    [-selector <message-selector>]

    Durable Subscription에 대한 Message Selector의 이름을 입력한다.

    [-sort <message-sort>]

    Durable Subscription에 대한 Message Sort의 이름을 입력한다.

  • 예제

    [MASTER]domain1.adminServer>modify-jms-durable-subscription -server adminServer
    -name testDS -clientid testClientID -shared false -selector TESTNO>=1
    Executed successfully, but some configurations were not applied dynamically. It might be necessary to restart the server.
    View the results using 'list-jms-durable-subscriptions -server adminServer'.
    [MASTER]domain1.adminServer>list-jms-durable-subscriptions -server adminServer
    Durable Subscription Information
    ================================================================================
    +---------+---------+--------+------------+---------------------+--------------+
    | Durable |  Client | Shared |   Message  |  Remaining Messages |   Suspended  |
    |   Name  |   ID    |        |  Selector  |      (current)      |  (current)   |
    +---------+---------+--------+------------+---------------------+--------------+
    | testDS  | testCli | false  | TESTNO>=1  |                   0 | false        |
    |         |entID    |        |            |                     |              |
    +---------+---------+--------+------------+---------------------+--------------+
    ================================================================================

4.2.10.27. modify-jms-message-sort

지정된 Message Sort의 정보를 수정한다.

  • alias

    modify-message-sort, modmsgsort

  • 사용법

    modify-jms-message-sort -server <server-name>
                            -name <message-sort-name>
                            [-key <key>]
                            [-type <type>]
                            [-direction <direction>]
  • 파라미터

    파라미터설명

    -server <server-name>

    수정할 Message Sort가 속한 서버를 지정한다.

    -name <message-sort-name>

    수정할 Message Sort의 이름을 입력한다.

    [-key <key>]

    메시지 정렬의 기준이 되는 Key를 입력한다.

    [-type <type>]

    Key의 타입을 입력한다.

    [-direction <direction>]

    메시지 정렬 순서를 입력한다.

  • 예제

    [MASTER]domain1.adminServer>modify-jms-message-sort -server adminServer
    -name testSort -key JMSMessageID -type String -direction Descending
    Executed successfully, but some configurations were not applied dynamically. It might be necessary to restart the server.
    View the results using 'list-jms-message-sorts -server adminServer -name testSort'.
    [MASTER]domain1.adminServer>list-jms-message-sorts -server adminServer -name testSort
    Detailed Message Sort Information
    =============================================================
    testSort
    
    +--------------------------------------------+--------------+
    | Message Sort Name                          | testSort     |
    | Key                                        | JMSMessageID |
    | Type                                       | STRING       |
    | Direction                                  | DESCENDING   |
    +--------------------------------------------+--------------+
    =============================================================

4.2.10.28. modify-jms-quota

지정된 Quota의 정보를 수정한다.

  • alias

    modify-quota, modquota

  • 사용법

    modify-jms-quota -server <server-name>
                     -name <quota-name>
                     [-byte <max-bytes>]
                     [-msg <max-messages>]
                     [-shared <shared>]
  • 파라미터

    파라미터설명

    -server <server-name>

    수정할 Quota가 속한 서버를 지정한다.

    -name <quota-name>

    수정할 Quota의 이름을 입력한다.

    [-byte <max-bytes>]

    제한 할 최대 Byte를 입력한다 .

    [-msg <max-messages>]

    제한 할 최대 메시지 수를 입력한다.

    [-shared <shared>]

    Quota를 여러 Destination에서 공유하여 사용할지 여부를 입력한다.

  • 예제

    [MASTER]domain1.adminServer>modify-jms-quota -server adminServer
    -name testQuota -byte 256M -msg 2M -shared true
    Executed successfully, but some configurations were not applied dynamically. It might be necessary to restart the server.
    View the results using 'list-jms-quotas -server adminServer -name testQuota'.
    [MASTER]domain1.adminServer>list-jms-quotas -server adminServer -name testQuota
    Detailed Quota Information
    ===========================================================
    testQuota
    
    +---------------------------------------------+-----------+
    | Quota Name                                  | testQuota |
    | Max Bytes                                   | 256M      |
    | Max Messages                                | 2M        |
    | Shared                                      | true      |
    +---------------------------------------------+-----------+
    ===========================================================

4.2.10.29. modify-jms-service-config

지정된 서비스의 정보를 수정한다.

  • alias

    modify-service-config, modifyjmsservice

  • 사용법

    modify-jms-service-config -server <server-name>
                              -name <service-name>
                              [-limit <client-limit>]
                              [-timeout <client-keepalive-timeout>]
                              [-listener <listener>]
                              [-virtual]
                              [-address <address>]
                              [-port <port>]
  • 파라미터

    파라미터설명

    -server <server-name>

    수정할 서비스가 속한 서버를 지정한다.

    -name <service-name>

    수정할 서비스의 이름을 입력한다.

    [-limit <client-limit>]

    허용 되는 client의 최대값을 입력한다 .

    [-timeout <client-keepalive-timeout>]

    비정상 종료 될 때 재연결을 기다릴 시간을 입력한다.

    [-listener <listener>]

    서비스의 Listener를 입력한다 .

    [-virtual]

    Virtual Listener를 선택할 경우 사용하는 옵션이다 .

    [-address <address>]

    Virtual Listener의 address를 입력한다 .

    [-port <port>]

    Virtual Listener의 port를 입력한다.

  • 예제

    [MASTER]domain1.adminServer>modify-jms-service-config -server adminServer
    -name testService -limit 2000 -timeout 100
    Executed successfully, but some configurations were not applied dynamically. It might be necessary to restart the server.
    View the results using 'list-jms-service-configs -server adminServer -name testService'.
    [MASTER]domain1.adminServer>list-jms-service-configs -server adminServer -name testService
    Detailed Service Config Information
    ===================================================================
    testService
    
    +---------------------------------------------------+-------------+
    | Service Config Name                               | testService |
    | Client Limit                                      |        2000 |
    | Client Keepalive Timeout                          |         100 |
    | Listener Name                                     | base        |
    +---------------------------------------------------+-------------+
    ===================================================================

4.2.10.30. 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을 지정한다.

  • 예제

    [MASTER]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
    ================================================================================
    
    [MASTER]domain1.adminServer>move-jms-messages -server adminServer -dest ExamplesQueue -all -target MyQueue
    Successfully moved all messages from ExamplesQueue to MyQueue is successful
    [MASTER]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.31. 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의 이름이다.

  • 예제

    [MASTER]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    |
    +-------------------------------------+--------------------------------+-------+
    ================================================================================
    
    [MASTER]domain1.adminServer>remove-jms-connection-factory -server adminServer -name MyConnectionFactory
    Executed Successfully.
    View the results using 'list-jms-connection-factories -server adminServer'.
    [MASTER]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.32. 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의 이름이다.

  • 예제

    [MASTER]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
    ================================================================================
    
    [MASTER]domain1.adminServer>remove-jms-destination -server adminServer -name MyQueue
    Executed Successfully.
    View the results using 'list-jms-destinations -server adminServer'.
    [MASTER]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.33. remove-jms-durable-subscription

동적으로 JMS 엔진에서 특정 Durable Subscription을 제거한다.

  • alias

    remove-durable, deletedur, removedur

  • 사용법

    remove-jms-durable-subscription -cluster <cluster-name> | -server <server-name>
                                    -name <durable-subscription-name>
  • 파라미터

    파라미터설명

    -cluster <cluster-name> | -server <server-name>

    Durable Subscription이 속한 클러스터 또는 서버를 지정한다.

    -name <durable-subscription-name>

    제거할 Durable Subscription의 이름이다.

  • 예제

    [MASTER]domain1.adminServer>list-jms-durable-subscriptions -server adminServer
    Durable Subscription Information
    ================================================================================
    +--------------+-----------+--------+------------------+-----------------------+
    | Durable Name | Client ID | Shared | Message Selector |   Remaining Messages  |
    +--------------+-----------+--------+------------------+-----------------------+
    | testDurable1 | client1   | false  |                  |                     5 |
    | testDurable2 | client2   | false  |                  |                     0 |
    +--------------+-----------+--------+------------------+-----------------------+
    ================================================================================
    
    [MASTER]domain1.adminServer>remove-jms-durable-subscription -server adminServer -name testDurable2
    Executed Successfully.
    View the results using 'list-jms-durable-subscriptions -server adminServer'.
    [MASTER]domain1.adminServer>list-jms-durable-subscriptions -server adminServer
    Durable Subscription Information
    ================================================================================
    +--------------+-----------+--------+------------------+-----------------------+
    | Durable Name | Client ID | Shared | Message Selector |   Remaining Messages  |
    +--------------+-----------+--------+------------------+-----------------------+
    | testDurable1 | client1   | false  |                  |                     5 |
    +--------------+-----------+--------+------------------+-----------------------+
    ================================================================================

4.2.10.34. remove-jms-message-sort

JMS 엔진에서 특정 Message Sort를 제거한다.

  • alias

    remove-message-sort, removemsgsort

  • 사용법

    remove-jms-message-sort -server <server-name>
                            -name <message-sort-name>
  • 파라미터

    파라미터설명

    -server <server-name>

    Message Sort가 속한 서버를 지정한다.

    -name <message-sort-name>

    제거할 Message Sort의 이름이다.

  • 예제

    [MASTER]domain1.adminServer>list-jms-message-sorts -server adminServer
    Message Sort Information
    =============================================================
    +----------------------------------+--------------+---------+
    |         Message Sort Name        |      Key     |   Type  |
    +----------------------------------+--------------+---------+
    | testSort                         | JMSMessageID | STRING  |
    | testSort2                        | JMSPriority  | INTEGER |
    +----------------------------------+--------------+---------+
    =============================================================
    
    [MASTER]domain1.adminServer>remove-jms-message-sort -server adminServer -name testSort2
    Executed successfully, but some configurations were not applied dynamically. It might be necessary to restart the server.
    View the results using 'list-jms-message-sorts -server adminServer'.
    [MASTER]domain1.adminServer>list-jms-message-sorts -server adminServer
    Message Sort Information
    =============================================================
    +-----------------------------------+--------------+--------+
    |         Message Sort Name         |      Key     |  Type  |
    +-----------------------------------+--------------+--------+
    | testSort                          | JMSMessageID | STRING |
    +-----------------------------------+--------------+--------+
    =============================================================

4.2.10.35. remove-jms-quota

JMS 엔진에서 특정 Quota를 제거한다.

  • alias

    remove-quota, removequota

  • 사용법

    remove-jms-quota -server <server-name>
                     -name <quota-name>
  • 파라미터

    파라미터설명

    -server <server-name>

    Quota가 속한 서버를 지정한다.

    -name <quota-name>

    제거할 Quota의 이름이다.

  • 예제

    [MASTER]domain1.adminServer>list-jms-quotas -server adminServer
    Quota Information
    ====================================================
    +-----------------------------+-----------+--------+
    |          Quota Name         | Max Bytes | Shared |
    +-----------------------------+-----------+--------+
    | testQuota                   | 256M      | true   |
    | testQuota2                  | 128M      | false  |
    +-----------------------------+-----------+--------+
    ====================================================
    
    [MASTER]domain1.adminServer>remove-jms-quota -server adminServer -name testQuota2
    Executed successfully, but some configurations were not applied dynamically. It might be necessary to restart the server.
    View the results using 'list-jms-quotas -server adminServer'.
    [MASTER]domain1.adminServer>list-jms-quotas -server adminServer
    Quota Information
    ====================================================
    +-----------------------------+-----------+--------+
    |          Quota Name         | Max Bytes | Shared |
    +-----------------------------+-----------+--------+
    | testQuota                   | 256M      | true   |
    +-----------------------------+-----------+--------+
    ====================================================

4.2.10.36. remove-jms-service-config

JMS 엔진에서 특정 Service Config를 제거한다.

  • alias

    remove-service-config,deletejmsservice, removejmsservice

  • 사용법

    remove-jms-service-config -server <server-name>
                              -name <service-name>
  • 파라미터

    파라미터설명

    -server <server-name>

    서비스가 속한 서버를 지정한다.

    -name <service-name>

    제거할 서비스의 이름이다.

  • 예제

    [MASTER]domain1.adminServer>list-jms-service-configs -server adminServer
    Service Config Information
    ================================================================================
    +------------------------------+---------------------+-------------------------+
    |      Service Config Name     |    Listener Name    |     Virtual Listener    |
    +------------------------------+---------------------+-------------------------+
    | default                      | jms                 |                         |
    | testService                  | base                |                         |
    +------------------------------+---------------------+-------------------------+
    ================================================================================
    
    [MASTER]domain1.adminServer>remove-jms-service-config -server adminServer -name testService
    Executed successfully, but some configurations were not applied dynamically. It might be necessary to restart the server.
    View the results using 'list-jms-service-configs -server adminServer'.
    [MASTER]domain1.adminServer>list-jms-service-configs -server adminServer
    Service Config Information
    ================================================================================
    +------------------------------+---------------------+-------------------------+
    |      Service Config Name     |    Listener Name    |     Virtual Listener    |
    +------------------------------+---------------------+-------------------------+
    | default                      | jms                 |                         |
    +------------------------------+---------------------+-------------------------+
    ================================================================================

4.2.10.37. set-jms-engine-quota

JMS 엔진의 Quota를 설정한다.

  • alias

    set-engine-quota

  • 사용법

    set-jms-engine-quota -server <server-name>
                         [-byte <max-bytes>]
                         [-msg <max-messages>]
  • 파라미터

    파라미터설명

    -server <server-name>

    설정할 JMS 엔진이 속한 서버를 지정한다.

    [-byte <max-bytes>]

    JMS 엔진에서 제한 할 최대 Byte를 입력한다 .

    [-msg <max-messages>]

    JMS 엔진에서 제한 할 최대 메시지 수를 입력한다.

  • 예제

    [MASTER]domain1.adminServer>set-jms-engine-quota -server adminServer -byte 256M -msg 1M
    Executed successfully, but some configurations were not applied dynamically. It might be necessary to restart the server.
    View the results using 'set-jms-engine-quota -server adminServer'.
    [MASTER]domain1.adminServer>set-jms-engine-quota -server adminServer
    Engine Quota Information
    ===============================================================
    JMS Engine
    
    +-----------------------------------------------------+-------+
    | Max Bytes                                           | 256M  |
    | Max Messages                                        | 1M    |
    +-----------------------------------------------------+-------+
    ===============================================================

4.2.10.38. set-jms-failover-check

JMS 엔진의 Failover 전 장애 감지를 위한 옵션을 설정한다.

  • alias

    set-jms-failover, set-failover

  • 사용법

    set-jms-failover-check -server <server-name>
                           [-timeout <timeout>]
                           [-count <count>]
  • 파라미터

    파라미터설명

    -server <server-name>

    설정할 JMS 엔진이 속한 서버를 지정한다.

    [-timeout <timeout>]

    Failover 전 JMS 엔진의 생존 여부를 확인 할 시간을 입력한다.

    [-count <count>]

    Failover 전 JMS 엔진의 생존 여부를 확인 할 최대 횟수를 입력한다.

  • 예제

    [MASTER]domain1.adminServer>set-jms-failover-check -server adminServer -timeout 10 -count 5
    Executed successfully, but some configurations were not applied dynamically. It might be necessary to restart the server.
    View the results using 'set-jms-failover-check -server adminServer'.
    [MASTER]domain1.adminServer>set-jms-failover-check -server adminServer
    Failover check Information
    =====================================================================
    JMS Engine
    
    +-----------------------------------------------------------+-------+
    | Failover Check Timeout                                    |    10 |
    | Failover Check Count                                      |     5 |
    +-----------------------------------------------------------+-------+
    =====================================================================

4.2.10.39. set-jms-persistence-store

JMS 엔진의 Persistent Object들을 위한 Store 정보를 설정한다.

  • alias

    set-jms-store, set-persistence-store, setjmsstore

  • 사용법

    set-jms-persistence-store -server <server-name>
                              -none | -journal | -jdbc
                              [-dir <base-dir>]
                              [-init <initial-log-file-count>]
                              [-max <max-log-file-count>]
                              [-size <log-file-size>]
                              [-dest <destination-table>]
                              [-durSub <durable-subscription-table>]
                              [-property <property>]
                              [-source <data-source>]
                              [-msg <message-table>]
                              [-subMsg <subscription-message-table>]
                              [-tx <transaction-table>]
  • 파라미터

    파라미터설명

    -server <server-name>

    설정할 JMS 엔진이 속한 서버를 지정한다.

    -none | -journal | -jdbc

    Store의 타입을 선택하는 옵션이다.

    [-dir <base-dir>]

    Journal Store를 설정할 디렉터리를 입력한다 .

    [-init <initial-log-file-count>]

    Journal Store를 생성할 때 초기에 생성할 로그 파일의 개수를 입력한다.

    [-max <max-log-file-count>]

    Journal Store의 최대 로그 파일의 개수를 입력한다.

    [-size <log-file-size>]

    Journal Store의 로그 파일의 크기를 입력한다.

    [-dest <destination-table>]

    Journal과 JDBC Store의 Destination 테이블 이름을 입력한다.

    [-durSub <durable-subscription-table>]

    Journal과 JDBC Store의 Durable Subscription 테이블 이름을 입력한다.

    [-property <property>]

    Journal Store의 추가적인 설정을 입력한다.

    [-source <data-source>]

    JDBC Store의 Data Source를 입력한다.

    [-msg <message-table>]

    JDBC Store의 Message 테이블 이름을 입력한다.

    [-subMsb <subscription-message-table>]

    JDBC Store의 Subscription 테이블 이름을 입력한다.

    [-tx <transaction-table>]

    JDBC Store의 Transaction 테이블 이름을 입력한다.

  • 예제

    [MASTER]domain1.adminServer>set-jms-persistence-store -server adminServer
    -journal -dir store -init 5 -max 50 -size 256M -dest ADMIN_DEST -durSub ADMIN_DS
    Executed successfully, but some configurations were not applied dynamically. It might be necessary to restart the server.
    View the results using 'set-jms-persistence-store -server adminServer'.
    [MASTER]domain1.adminServer>set-jms-persistence-store -server adminServer
    Persistence Store Information
    ====================================================================
    Persistence Store
    
    +-----------------------------------------------------+------------+
    | Persistence Store Type                              | Journal    |
    | Base Dir                                            | store      |
    | Initial Log File Count                              |          5 |
    | Max Log File Count                                  |         50 |
    | Log File Size                                       | 256M       |
    | Destination Table                                   | ADMIN_DEST |
    | Durable Subscription Table                          | ADMIN_DS   |
    | Property                                            |            |
    +-----------------------------------------------------+------------+
    ====================================================================

4.2.10.40. 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를 지정한다.

  • 예제

    [MASTER]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               |
    +--------------------+--------------+--------------------------------------------+
    ==================================================================================
    
    [MASTER]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 <true | false>]
                            [-ipc,--isPreConn <is-pre-conn>]
                            [-ufb,--useFailback <use-failback>]
                            [-cds,--componentDataSources <component-data-sources>]
                            [-oc,--onsConfig <ons-config>]
                            [-dsa,--dataSourceAffinity <data-source-affinity>]
                            [-f,--forceLock]
                            [-detail]
  • 파라미터

    파라미터설명

    [-id,--dataSourceID <data-source-id>]

    클러스터 데이터소스의 ID이다. 하나의 도메인에서 클러스터 데이터소스 ID는 클러스터 데이터소스의 유일한 식별자로서 동작하도록 설정해야 한다.

    [-en,--exportName <export-name>]

    클러스터 데이터소스의 JNDI 이름을 설정한다. 서로 다른 두 데이터소스가 서로 다른 서버에 JNDI 바인드되는 것을 보장할 수 있으면 해당 데이터소스들은 서로 같은 JNDI 이름을 가질 수 있다. 이는 임의의 서버에서 동일한 JNDI 이름을 가지는 서로 다른 데이터소스를 허용하지 않음을 의미한다.

    설정되지 않으면 클러스터 데이터소스 ID를 JNDI 이름으로 사용한다.

    콤마(,)를 구분자로 사용하여 여러 개 입력할 수 있으며, 이 경우 구분자로 구분 된 어떠한 값을 사용하여도 JNDI lookup이 가능하다.

    [-dss,--dataSourceSelector <data-source-selector>]

    클러스터 데이터소스로부터 커넥션을 얻을 때 사용자나 개발자가 특정 컴포넌트 데이터소스 선택에 대한 정책을 직접 정의할 수 있다. jeus.jdbc.helper.DataSourceSelector 추상 클래스를 상속하여 구현하고 그 구현 클래스의 패키지 이름을 포함하는 이름을 적어준다. 이것을 설정하면 --loadBalance 설정은 아무런 기능을 하지 않으며 failover와 failback을 무조건 시도한다.

    • failover는 이 설정을 통하여 최초 선택된 컴포넌트 데이터소스 다음 인덱스의 컴포넌트 데이터소스를 시작으로 하여 한 번만 라운딩하는 방식으로 이루어진다.

    • failback은 Use Failback을 설정하는 경우 Failback이 수행되는 방식과 유사하게 이루어진다. 정책을 정의할 때는 대체로 동기화를 고려해야 하며 이는 구현자의 몫이다.

    [-lb,--loadBalance <true | false>]

    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

    [-dsa,--dataSourceAffinity <data-source-affinity>]

    트랜잭션 사용 중 데이터소스에 대한 Affinity 설정 여부를 정한다. 이 설정이 켜지면 트랜잭션 처리가 하나의 멤버 데이터소스 인스턴스에 한정하여 이루어져 글로벌 트랜잭션은 처리 성능 향상을 도모할 수 있고, XA Emulation을 설정한 로컬 트랜잭션도 클러스터 데이터소스 사용 간 보장 될 수 있다.

    [-f,--forceLock]

    설정 변경을 강제로 진행하여 반영한다.

    [-detail]

    변경 결과에 대한 상세 정보가 출력된다.

  • 예제

    [MASTER]domain1.adminServer>add-cluster-data-source -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>]
                 [-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 <true | false>]
                 [-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 <true | false>]
                 [-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를 설정한다. 트랜잭션 처리 등을 위해서는 충분한 권한을 가지고 있어야 한다.

    [-pw,--password <password>]

    데이터베이스 사용자의 패스워드를 설정한다. 패스워드를 암호화해서 저장할 때에는 '{algorithm:keysize}ciphertext' 와 같은 형식으로 쓴다.

    [-algorithm,--algorithm <algorithm>]

    [동적 변경] 데이터베이스 사용자 패스워드의 알고리듬을 설정한다. algorithm 옵션은 password 옵션과 함께 사용될 때에만 의미가 있다.

    다음의 알고리듬을 사용할 수 있다.

    • base64

    • DES

    • DESede

    • AES

    • SEED

    • Blowfish

    [-ac,--autoCommit <TRUE | FALSE | DRIVER> ]

    데이터소스의 기본 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 컴포넌트 - Servlet/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 <true | false>]

    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 <true | false>]

    커넥션과 관련된 부가 정보 제공 여부를 결정한다.

    • 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 이름으로 사용한다.

    콤마(,)를 구분자로 사용하여 여러 개 입력할 수 있으며, 이 경우 구분자로 구분 된 어떠한 값을 사용하여도 JNDI lookup이 가능하다.

    [-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를 설정한다.

    [-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]

    변경 결과에 대한 상세 정보가 출력된다.

  • 예제

    [MASTER]domain1.adminServer>add-data-source -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이다.

  • 예제

    [MASTER]domain1.adminServer>list-cluster-data-sources
    The list of cluster data sources
    ================================================================================
    +--------------------+-----------------------+---------------------------------+
    |   Data source ID   |    JNDI export name   |      Component data sources     |
    +--------------------+-----------------------+---------------------------------+
    | cds1               | cds1                  | [ds1, ds2]                      |
    | cds2               | cds2                  | [ds3, ds4]                      |
    +--------------------+-----------------------+---------------------------------+
    ================================================================================
    
    [MASTER]domain1.adminServer>list-cluster-data-sources -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이다.

  • 예제

    [MASTER]domain1.adminServer>list-data-sources
    The list of data sources
    ================================================================================
    +----------------+----------------------+--------------------------------------+
    | Data source ID |   JNDI export name   |           Data source type           |
    +----------------+----------------------+--------------------------------------+
    | ds1            | ds1                  | ConnectionPoolDataSource             |
    | ds2            | ds2                  | ConnectionPoolDataSource             |
    | ds3            | ds3                  | ConnectionPoolDataSource             |
    +----------------+----------------------+--------------------------------------+
    ================================================================================
    
    [MASTER]domain1.adminServer>list-data-sources -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 <true | false>]
                               [-ipc,--isPreConn <is-pre-conn>]
                               [-ufb,--useFailback <use-failback>]
                               [-cds,--componentDataSources <component-data-sources>]
                               [-oc,--onsConfig <ons-config>]
                               [-dsa,--dataSourceAffinity <data-source-affinity>]
                               [-f,--forceLock]
                               [-detail]
  • 파라미터

    파라미터설명

    -id,--dataSourceID <data-source-id>]

    클러스터 데이터소스의 ID을 설정한다.

    하나의 도메인에서 클러스터 데이터소스 ID는 클러스터 데이터소스의 유일한 식별자로서 동작하도록 설정해야 한다.

    [-en,--exportName <export-name>]

    클러스터 데이터소스의 JNDI 이름을 설정한다. 서로 다른 두 데이터소스가 서로 다른 서버에 JNDI 바인드되는 것을 보장할 수 있으면 해당 데이터소스들은 서로 같은 JNDI 이름을 가질 수 있다. 이는 임의의 서버에서 동일한 JNDI 이름을 가지는 서로 다른 데이터소스를 허용하지 않음을 의미한다.

    설정되지 않으면 클러스터 데이터소스 ID를 JNDI 이름으로 사용한다. 설정을 해제하려면 옵션 값으로 "unset"을 입력한다.

    콤마(,)를 구분자로 사용하여 여러 개 입력할 수 있으며, 이 경우 구분자로 구분 된 어떠한 값을 사용하여도 JNDI lookup이 가능하다.

    [-dss,--dataSourceSelector <data-source-selector>]

    [동적 변경] 클러스터 데이터소스로부터 커넥션을 얻을 때 사용자나 개발자가 특정 컴포넌트 데이터소스 선택에 대한 정책을 직접 정의할 수 있다.

    jeus.jdbc.helper.DataSourceSelector 추상 클래스를 상속하여 구현하고 그 구현 클래스의 패키지 이름을 포함하는 이름을 적어준다. 이것을 설정하면 --loadBalance 설정은 아무런 기능을 하지 않으며 failover와 failback을 무조건 시도한다.

    • failover는 이 설정을 통하여 최초 선택된 컴포넌트 데이터소스 다음 인덱스의 컴포넌트 데이터소스를 시작으로 하여 한 번만 라운딩하는 방식으로 이루어진다.

    • failback은 Use failback을 설정할 때 failback이 수행되는 방식과 유사하게 이루어진다. 정책을 정의할 때는 대체로 동기화를 고려해야 하며 이는 구현자의 몫이다. 설정을 해제하려면 옵션 값으로 "unset"을 입력한다.

    [-lb,--loadBalance <true | false>]

    [동적 변경] 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

    [-dsa,--dataSourceAffinity <data-source-affinity>]

    트랜잭션 사용 중 데이터소스에 대한 Affinity 설정 여부를 정한다. 이 설정이 켜지면 트랜잭션 처리가 하나의 멤버 데이터소스 인스턴스에 한정하여 이루어져 글로벌 트랜잭션은 처리 성능 향상을 도모할 수 있고, XA Emulation을 설정한 로컬 트랜잭션도 클러스터 데이터소스 사용 간 보장 될 수 있다.

    [-f,--forceLock]

    설정 변경을 강제로 진행하여 반영한다.

    [-detail]

    변경 결과에 대한 상세 정보가 출력된다.

  • 예제

    [MASTER]domain1.adminServer>modify-cluster-data-source -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 <TRUE | FALSE | DRIVER> ]
                 [-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 <true | false>]
                 [-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 <true | false>]
                 [-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

    • Blowfish

    [-ac,--autoCommit <TRUE | FALSE | DRIVER>]

    [동적 변경] 데이터소스의 기본 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 컴포넌트 - Servlet/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 <true | false>]

    [동적 변경] 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 <true | false>]

    [동적 변경] 커넥션 관련 부가 정보 제공 여부를 결정한다.

    • 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"을 입력한다.

    콤마(,)를 구분자로 사용하여 여러 개 입력할 수 있으며, 이 경우 구분자로 구분 된 어떠한 값을 사용하여도 JNDI lookup이 가능하다.

    [-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]

    변경 결과에 대한 상세 정보가 출력된다.

  • 예제

    [MASTER]domain1.adminServer>modify-data-source -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]

    변경 결과에 대한 상세 정보가 출력된다.

  • 예제

    [MASTER]domain1.adminServer>remove-cluster-data-source -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]

    변경 결과에 대한 상세한 정보가 출력된다.

  • 예제

    [MASTER]domain1.adminServer>remove-data-source -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]

    JEUS Master Server의 jeusadmin에서만 사용 가능하며, 도메인 내의 기동 중인 모든 서버들 중 해당 데이터소스를 타겟으로 설정한 서버에게 명령을 요청하고 결과를 수집하여 보여준다.

  • 예제

    [MASTER]domain1.adminServer>test-data-source-config -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-connection

Active 상태의 커넥션의 연결을 강제로 끊는다.

disable-connection-pool

JDBC Connection Pool을 비활성화한다.

JCA Connection Pool에 대해서는 동작하지 않는다.

enable-connection-pool

JDBC Connection Pool을 활성화한다.

JCA Connection Pool에 대해서는 동작하지 않는다.

refresh-connection-pool

JDBC Connection Pool의 커넥션들을 새로운 커넥션으로 교체한다. JCA Connection Pool에 대해서는 동작하지 않는다.

return-connection

Active 상태의 커넥션을 Connection Pool로 반환한다.

shrink-connection-pool

JDBC 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의 정보를 표시한다.

  • 예제

    [MASTER]domain1.adminServer>connection-pool-info -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
    ================================================================================
    
    [MASTER]domain1.adminServer>connection-pool-info -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 |             |
    +---------------+-------+-------------------+-----------+--------+-------------+
    ================================================================================
    
    [MASTER]domain1.adminServer>connection-pool-info -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>]

    서버 이름이다.

    [-enable]

    Connection Pool을 활성화한다.

    [-shrink]

    Connection Pool의 커넥션 개수를 설정된 커넥션 최솟값으로 조정한다.

    [-disable]

    Connection Pool을 비활성화한다.

    [-refresh]

    Connection Pool의 커넥션들을 새로운 커넥션으로 교체한다.

    [-create]

    Connection Pool을 생성한다.

  • 예제

    [MASTER]domain1.adminServer>control-connection-pool -id ds1 -server server1 -enable
    Servers that successfully enabled a connection pool : server1
    Servers that failed to enable a connection pool : none.
    
    [MASTER]domain1.adminServer>control-connection-pool -id ds1 -server server1 -shrink
    Servers that successfully shrank a connection pool : server1
    Servers that failed to shrink a connection pool : none.
    
    [MASTER]domain1.adminServer>control-connection-pool -id ds1 -server server1 -disable
    Servers that successfully disabled a connection pool : server1
    Servers that failed to disable a connection pool : none.
    
    [MASTER]domain1.adminServer>control-connection-pool -id ds1 -server server1 -refresh
    Servers that successfully refreshed a connection pool : server1
    Servers that failed to refresh a connection pool : none.
    
    [MASTER]domain1.adminServer>control-connection-pool -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을 수행한다.

  • 예제

    [MASTER]domain1.adminServer>control-cluster-data-source -server server1 -id cds1  
    Component data sources of the cluster data source [cds1] : ds1, ds2
    
    [MASTER]domain1.adminServer>control-cluster-data-source -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>]

    서버 이름이다.

  • 예제

    [MASTER]domain1.adminServer>create-connection-pool -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 값을 콤마(,)로 구분하여 입력한다.

  • 예제

    [MASTER]domain1.adminServer>destroy-connection -server server1 -cpid ds1
    Successfully destroyed the connections from the connection pool.
    
    [MASTER]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>]

    서버 이름이다.

  • 예제

    [MASTER]domain1.adminServer>disable-connection-pool -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>]

    서버 이름이다.

  • 예제

    [MASTER]domain1.adminServer>enable-connection-pool -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>]

    서버 이름이다.

  • 예제

    [MASTER]domain1.adminServer>refresh-connection-pool -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 값을 콤마(,)로 구분하여 입력한다.

  • 예제

    [MASTER]domain1.adminServer>return-connection -server server1 -cpid ds1
    Successfully returned the connections to the connection pool.
    
    [MASTER]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>]

    서버 이름이다.

  • 예제

    [MASTER]domain1.adminServer>shrink-connection-pool -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]

    결과를 자세하게 조회한다.

  • 예제

    • 현재 설정 확인

      [MASTER]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                                                  |
      +---------------------+--------------------------------------------------------+
      ================================================================================
    • 동적 설정인 트랜잭션 자동 복구 기능 켜기

      [MASTER]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"
    • 서버 재시작으로 반영되는 타임아웃 설정 변경

      [MASTER]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"
    • 동적 반영 설정과 서버 재시작으로 반영되는 설정 함께 변경

      [MASTER]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의 이름을 지정한다.

  • 예제

    [MASTER]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>

    서버의 이름이다.

  • 예제

    [MASTER]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 자체적으로 재시도 중인 트랜잭션이다.

  • 예제

    [MASTER]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 관리 명령어로 분류되고, 목록은 다음과 같다.

주의

본 절에서 소개하는 명령어는 민감한 사안을 다루므로, 이 명령어를 실행하기에 적절한 권한을 가진 사용자로 로그인해야 한다.

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 인터페이스를 구현해야 한다.

  • 예제

    [MASTER]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]

    설정 변경을 강제로 진행하여 반영한다.

  • 예제

    [MASTER]domain1.adminServer> add-group group1
    The group [group1] has been successfully added.

4.2.14.4. add-resource

동적으로 보안 시스템에 새로운 리소스를 추가한다. 주어진 리소스의 이름과 actions의 조합은 현재 도메인과 컨텍스트 내에서 유일해야 한다(show-policy 명령어로 확인 가능).

  • alias

    addresource

  • 사용법

    add-resource <resource-name>
              <actions>
              [-contextid <context-id>]
              [-classname <class-name>]
              [-role <role-name>]
              [-excluded]
              [-unchecked]
              [-domain <domain-name>]
              [-f,--forceLock]
  • 파라미터

    파라미터설명

    <resource-name>

    추가할 리소스의 이름이다.

    <actions>

    리소스에 부여될 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 <class-name>]

    Permission 클래스 이름이다.

    -classname으로 설정한 클래스는 java.security.Permission 추상 클래스를 확장한 Java 클래스여야 하며 최소한 하나의 String 타입의 "resource"을 받아 들이는 생성자를 가지고 있어야 한다.

    Resource Permission에 대한 자세한 정보는 jeus.security.resource.ResourcePermission 클래스를 참고한다. JEUS가 어떤 Resource Permission을 체크하는지에 관한 정보는 JEUS Security 안내서”의 “Appendix B. JEUS Server Permissions”을 참고한다.

    [-role <role-name>]

    해당 리소스를 할당할 Role 목록이다.

    [-excluded]

    누구도 해당 Permission에 대한 허가를 가질 수 없도록 한다.

    [-unchecked]

    누구나 해당 Permission에 대한 허가를 가질 수 있도록 한다.

    [-f,--forceLock]

    설정 변경을 강제로 진행하여 반영한다.

  • 예제

    [MASTER]domain1.adminServer> add-resource resource1 jeus.*
    The resource [name=resource1, actions=jeus.*] has been successfully added.

4.2.14.5. add-role

동적으로 보안 시스템에 새로운 Role를 추가한다. 주어진 Role 이름은 현재 도메인 내에서 유일해야 한다(show-policy 명령어로 확인 가능).

  • alias

    addrole

  • 사용법

    add-role <role-name>
              [-principal <principal>]
              [-classname <classname>]
              [-excluded]
              [-unchecked]
              [-actions <actions>]
              [-domain <domain-name>]
              [-f,--forceLock]
  • 파라미터

    파라미터설명

    <role-name>

    추가할 Role의 이름이다.

    [-principal <principal>]

    해당 Role을 할당할 principal을 지정한다.

    [-classname <classname>]

    Permission 클래스 이름이다.

    -classname으로 설정한 클래스는 java.security.Permission 추상 클래스를 확장한 Java 클래스여야 하며 최소한 하나의 String 타입의 "role"을 받아 들이는 생성자를 가지고 있어야 한다.

    Role Permission에 대한 자세한 정보는 jeus.security.resource.RolePermission 클래스를 참고한다. JEUS가 어떤 Role Permission을 체크하는지에 관한 정보는 JEUS Security 안내서”의 “Appendix B. JEUS Server Permissions”을 참고한다.

    [-excluded]

    누구도 해당 Permission에 대한 허가를 가질 수 없도록 한다.

    [-unchecked]

    누구나 해당 Permission에 대한 허가를 가질 수 있도록 한다.

    [-actions <actions>]

    Role의 action 목록이다.

    [-f,--forceLock]

    설정 변경을 강제로 진행하여 반영한다.

  • 예제

    [MASTER]domain1.adminServer> add-role role1
    The role [role1] has been successfully added.

4.2.14.6. add-user

동적으로 보안 시스템에 새로운 사용자를 추가한다. 주어진 사용자 이름은 현재 도메인 내에서 유일해야 한다(list-user-names 명령어로 확인 가능). 사용자 이름은 일련의 호출 과정에서 특정 사용자를 참조하기 위해 사용한다. 즉, 사용자에 대한 ID에 해당된다.

  • alias

    adduser

  • 사용법

    add-user <user-name>
              [-domain <domain-name>]
              [-f,--forceLock]
              [<password>]
  • 파라미터

    파라미터설명

    <user-name>

    사용자 이름이다.

    [-f,--forceLock]

    설정 변경을 강제로 진행하여 반영한다.

    [<password>]

    비밀번호를 지정한다.

  • 예제

    [MASTER]domain1.adminServer> add-user user1
    The user [user1] has been successfully added.

4.2.14.7. 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]

    설정 변경을 강제로 진행하여 반영한다.

  • 예제

    [MASTER]domain1.adminServer> add-user-to-group group1 user1
    The user [user1] has been successfully added to the group [group1].

4.2.14.8. assign-resource-to-role

동적으로 Role에 특정 리소스와 Action을 할당한다.

  • alias

    assignresource, assignres

  • 사용법

    assign-resource-to-role <resource-name>
              <actions>
              <role-name>
              [-contextid <context-id>]
              [-classname <classname>]
              [-domain <domain-name>]
              [-f,--forceLock]
  • 파라미터

    파라미터설명

    <resource-name>

    [동적 변경] 리소스 이름이다. 리소스 이름은 보통 "jeus.server"와 같은 리스스를 나타내는 Java 클래스명이다.

    <actions>

    [동적 변경] 리소스에 부여된 Action 목록이다.

    Actions는 리소스에 대한 Action 목록이며, 각 Action은 공백으로 구분된다. 예를 들어 jeus.server resource의 경우 "boot", "down"과 같은 Action이 있다.

    actions 파라미터를 설정한 경우 -classname으로 설정한 클래스에 두 번째 생성자 파라미터로 "actions"를 전달할 때 사용한다. 디폴트 클래스명은 jeus.security.resource.ResourcePermission이고, 이는 "resouce"와 "actions"를 생성자 파라미터로 차례로 받아 들인다.

    <role-name>

    Role 이름이다.

    [-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]

    설정 변경을 강제로 진행하여 반영한다.

  • 예제

    [MASTER]domain1.adminServer> assign-resource-to-role jeus.* deploy-applications deployRole
    The resource [name=jeus.*, actions=deploy-applications] is assigned to the role [deployRole].

4.2.14.9. assign-role-to-principal

동적으로 특정 Role을 Principal에 할당한다. -classname으로 설정한 클래스는 java.security.Permission 추상 클래스를 확장한 Java 클래스여야 하며 최소한 하나의 String 타입의 "role"을 받아 들이는 생성자를 가지고 있어야 한다. 디폴트 클래스는 jeus.security.resource.RolePermission이다. 단, anonymous의 경우 해당 target role이 unchecked permission을 가지고 있을 경우에만 할당이 가능하다.

  • alias

    assignrole, assign-role

  • 사용법

    assign-role-to-principal <role-name>
              <principal>
              [-domain <domain-name>]
              [-f,--forceLock]
  • 파라미터

    파라미터설명

    <role-name>

    [동적 변경] Role 이름이다.

    <principal>

    Principal 이름이다.

    [-f,--forceLock]

    설정 변경을 강제로 진행하여 반영한다.

  • 예제

    [MASTER]domain1.adminServer> assign-role-to-principal AdministratorsRole user1
    The role [AdministratorsRole] is assigned to the principal [user1].

4.2.14.10. check-group-member

특정 그룹에 해당 사용자가 등록되었는지 여부를 조회한다.

  • alias

    checkgroupmember, ismember

  • 사용법

    check-group-member <group-name>
              <user-name>
              [-domain <domain-name>]
  • 파라미터

    파라미터설명

    <group-name>

    그룹 이름이다.

    <user-name>

    사용자 이름이다.

  • 예제

    [MASTER]domain1.adminServer> check-group-member group1 user1
    The user [user1] is a member of the group [group1].

4.2.14.11. 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으로 입력해야 한다. (기본값: 현재 시간의 분)

  • 예제

    [MASTER]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.12. list-group-names

현재 도메인의 모든 그룹에 대한 목록을 조회한다.

  • alias

    listgroupnames, getgroupnames

  • 사용법

    list-group-names  [-domain <domain-name>]
  • 예제

    [MASTER]domain1.adminServer> list-group-names
    ================================================================================
    +------------------------------------------------------------------------------+
    |                                  Group Name                                  |
    +------------------------------------------------------------------------------+
    | Administrators                                                               |
    +------------------------------------------------------------------------------+
    | group1                                                                       |
    +------------------------------------------------------------------------------+
    ================================================================================

4.2.14.13. list-user-names

현재 도메인에 로그인된 모든 사용자 이름 목록과 각 사용자의 Lock 상태와 만료 상태를 조회한다.

  • alias

    listusernames, getusernames

  • 사용법

    list-user-names [-domain <domain-name>]
  • 예제

    [MASTER]domain1.adminServer> list-user-names
    ============================================================
    +-----------+------------+---------------------------------+
    | User Name | Lock State |         ExpiryTime State        |
    +-----------+------------+---------------------------------+
    | jeus      | unlocked   | Unexpired                       |
    | admin     | locked     | 2020-01-01 12:00                |
    +-----------+------------+---------------------------------+
    ============================================================

4.2.14.14. 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>

    사용자 이름이다.

  • 예제

    [MASTER]domain1.adminServer> lock-user user2
    The user [user2] has been locked out.

4.2.14.15. 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 <true | false>]
              [-digit <true | false>]
              [-capital <true | false>]
              [-small <true | false>]
              [-excludeID <true | false>]
  • 파라미터

    파라미터설명

    [-disable]

    [동적 변경] Default Password Validator를 사용 안함으로 설정하고 기존 설정 값들을 모두 삭제한다.

    [-min <min-length>]

    [동적 변경] 패스워드의 최소 자릿수를 설정한다.

    (범위: 1 ~ 255, 기본값: 1)

    [-max <max-length>]

    [동적 변경] 패스워드의 최대 자릿수를 설정한다.

    (범위: 1 ~ 255, 기본값: 1)

    [-special <true | false>]

    [동적 변경] 패스워드에 반드시 특수문자가 들어가도록 할지 설정한다. (기본값: false)

    [-digit <true | false>]

    [동적 변경] 패스워드에 반드시 숫자가 들어가도록 할지 설정한다.

    (기본값: false)

    [-capital <true | false>]

    [동적 변경] 패스워드에 반드시 대문자가 들어가도록 할지 설정한다.

    (기본값: false)

    [-small <true | false>]

    [동적 변경] 패스워드에 반드시 소문자가 들어가도록 할지 설정한다.

    (기본값: false)

    [-excludeID <true | false>]

    [동적 변경] 패스워드에 사용자의 ID가 들어가지 못하도록 할지 설정한다. (기본값: false)

  • 예제

    [MASTER]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.16. modify-resource

동적으로 리소스 설정을 변경한다. 다만, Role에 할당된 리소스 설정을 변경하기 위해서는 해당 명령어가 아닌 AssignResourceToRole 혹은 UnassignResourceFromRole 명령어를 사용해야 한다.

  • alias

    modifyresource

  • 사용법

    modify-resource <resource-name>
              <actions>
              [-contextid <context-id>]
              [-classname <classname>]
              [-excluded <true | false>]
              [-unchecked <true | false>]
              [-domain <domain-name>]
              [-f,--forceLock]
  • 파라미터

    파라미터설명

    <resource-name>

    설정 변경할 리소스의 이름이다.

    <actions>

    설정 변경할 리소스의 action 목록이다.

    [-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”을 참고한다.

    [-excluded <true | false>]

    누구도 해당 Permission에 대한 허가를 가질 수 없도록 한다. (true|false)

    [-unchecked <true | false>]

    누구나 해당 Permission에 대한 허가를 가질 수 있도록 한다. (true|false)

    [-f,--forceLock]

    설정 변경을 강제로 진행하여 반영한다.

  • 예제

    [MASTER]domain1.adminServer> modify-resource resource1 jeus.* -excluded true -unchecked false
    The resource [name=resource1, actions=jeus.*] has been successfully modified.

4.2.14.17. modify-role

동적으로 Role 설정을 변경한다. 다만, 사용자에 할당된 Role 설정을 변경하기 위해서는 해당 명령어가 아닌 AssignRoleToPrincipal 혹은 UnassignRoleFromPrincipal 명령어를 사용해야 한다.

  • alias

    modifyrole

  • 사용법

    modify-role <role-name>
              [-classname <classname>]
              [-excluded <true | false>]
              [-unchecked <true | false>]
              [-actions <actions>]
              [-domain <domain-name>]
              [-f,--forceLock]
  • 파라미터

    파라미터설명

    <role-name>

    설정 변경할 Role의 이름이다.

    [-classname <classname>]

    Permission 클래스 이름이다.

    -classname으로 설정한 클래스는 java.security.Permission 추상 클래스를 확장한 Java 클래스여야 하며 최소한 하나의 String 타입의 "role"을 받아 들이는 생성자를 가지고 있어야 한다.

    Role Permission에 대한 자세한 정보는 jeus.security.resource.RolePermission 클래스를 참고한다. JEUS가 어떤 Role Permission을 체크하는지에 관한 정보는 JEUS Security 안내서”의 “Appendix B. JEUS Server Permissions”을 참고한다.

    [-excluded <true|false>]

    누구도 해당 Permission에 대한 허가를 가질 수 없도록 한다. (true|false)

    [-unchecked <true|false>]

    누구나 해당 Permission에 대한 허가를 가질 수 있도록 한다. (true|false)

    [-actions <actions>]

    Role의 action 목록이다.

    [-f,--forceLock]

    설정 변경을 강제로 진행하여 반영한다.

  • 예제

    [MASTER]domain1.adminServer> modify-role role1 -excluded true -unchecked false
    The role [role1] has been successfully modified.

4.2.14.18. 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 <class-name>

    사용자가 DOMAIN_HOME/lib/application에 jar 파일 형태로 넣고 add-custom-password-validator 명령어로 Custom Password Validator에 등록한 클래스의 이름이다.

  • 예제

    [MASTER]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.19. remove-group

동적으로 현재 도메인에서 이미 존재하고 있는 그룹을 삭제한다. 그룹에 속한 사용자가 존재하지 않을 경우에만 삭제 가능하다.

  • alias

    removegroup

  • 사용법

    remove-group <group-name>
              [-domain <domain-name>]
              [-f,--forceLock]
  • 파라미터

    파라미터설명

    <group-name>

    그룹 이름이다.

    [-f,--forceLock]

    설정 변경을 강제로 진행하여 반영한다.

  • 예제

    [MASTER]domain1.adminServer> remove-group group1
    The group [group1] has been successfully removed.

4.2.14.20. remove-resource

동적으로 현재 도메인에 이미 존재하고 있는 리소스를 제거한다.

  • alias

    rmresource

  • 사용법

    remove-resource <resource-name>
              <actions>
              [-contextid <context-id>]
              [-domain <domain-name>]
              [-f,--forceLock]
  • 파라미터

    파라미터설명

    <resource-name>

    제거할 리소스의 이름이다.

    <actions>

    제거할 리소스의 action 목록이다.

    [-contextid <context-id>]

    Policy를 구분하는 컨텍스트 이름이다. contextid는 "default" 이외의 컨텍스트를 지정할 때 사용한다.

    [-f,--forceLock]

    설정 변경을 강제로 진행하여 반영한다.

  • 예제

    [MASTER]domain1.adminServer> remove-resource resource1 jeus.*
    The resource [name=resource1, actions=jeus.*] has been successfully removed.

4.2.14.21. remove-role

동적으로 현재 도메인에 이미 존재하고 있는 Role을 제거한다.

  • alias

    rmrole

  • 사용법

    remove-role <role-name>
              [-domain <domain-name>]
              [-f,--forceLock]
  • 파라미터

    파라미터설명

    <role-name>

    제거할 Role의 이름이다.

    [-f,--forceLock]

    설정 변경을 강제로 진행하여 반영한다.

  • 예제

    [MASTER]domain1.adminServer> remove-role role1
    The role [role1] has been successfully removed.

4.2.14.22. remove-user

동적으로 현재 도메인에서 이미 존재하고 있는 사용자를 삭제한다.

  • alias

    removeuser

  • 사용법

    remove-user <user-name>
              [-domain <domain-name>]
              [-f,--forceLock]
  • 파라미터

    파라미터설명

    <user-name>

    사용자 이름이다.

    [-f,--forceLock]

    설정 변경을 강제로 진행하여 반영한다.

  • 예제

    [MASTER]domain1.adminServer> remove-user user1
    The user [user1] has been successfully removed.

4.2.14.23. 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]

    설정 변경을 강제로 진행하여 반영한다.

  • 예제

    [MASTER]domain1.adminServer> remove-user-from-group group1 user1
    The user [user1] has been successfully removed from the group [group1].

4.2.14.24. set-password

동적으로 주어진 사용자에 대한 패스워드를 설정한다. 패스워드는 어떤 암호화나 인코딩 없는 일반 문자로 설정해야 한다. - algorithm 옵션을 통해 패스워드를 암호화할 수 있다. 설정 후에는 새 패스워드로 다시 로그인하여야 한다.

주의

이 명령어는 해당 사용자에 이전에 설정되었던 모든 패스워드를 삭제한다.

  • alias

    setpassword

  • 사용법

    set-password <user-name>
              <password>
              [-algorithm <algorithm>]
              [-domain <domain-name>]
              [-f,--forceLock]
  • 파라미터

    파라미터설명

    <user-name>

    사용자 이름이다.

    <password>

    [동적 변경] 사용자 패스워드이다.

    [-algorithm < algorithm>]

    [동적 변경] 패스워드 암호화에 사용할 알고리듬의 이름이다.

    다음의 알고리듬을 선택할 수 있다.

    • AES

    • base64

    • DES

    • DESede

    • Blowfish

    • SEED

    • SHA

    [-f,--forceLock]

    설정 변경을 강제로 진행하여 반영한다.

  • 예제

    [MASTER]domain1.adminServer> set-password user1 pass1 -algorithm AES
    The password is set for [user1].

4.2.14.25. show-custom-password-validator

현재의 Default Password Validator 설정을 조회한다. Password Validation은 JEUS Security 안내서”의 “2.5.4. 패스워드 보안 설정”을 참고한다.

  • alias

    show-custom-validator

  • 사용법

    show-custom-password-validator
  • 예제

    [MASTER]domain1.adminServer> show-custom-password-validator
    ================================================================================
    +------------------------------------------------------------------------------+
    |                     custom password validator class names                    |
    +------------------------------------------------------------------------------+
    | MyValidator                                                                  |
    +------------------------------------------------------------------------------+
    ================================================================================

4.2.14.26. show-default-password-validator

현재의 Default Password Validator 설정을 조회한다. Password Validation은 JEUS Security 안내서”의 “2.5.4. 패스워드 보안 설정”을 참고한다.

  • alias

    show-password-validator

  • 사용법

    show-default-password-validator
  • 예제

    [MASTER]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.27. show-subject-validation

현재의 Subject Validation Service 설정을 조회한다. Subject Validation은 JEUS Security 안내서”의 절 2.4.1. “[Subject Validation] 메뉴”을 참고한다.

  • alias

    ssv

  • 사용법

    show-subject-validation
  • 예제

    [MASTER]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.28. show-group

주어진 특정 그룹에 대한 자세한 정보를 조회한다.

  • alias

    showgroup, getgroup

  • 사용법

    show-group <group-name>
              [-domain <domain-name>]
  • 파라미터

    파라미터설명

    <group-name>

    그룹 이름이다.

  • 예제

    [MASTER]domain1.adminServer> show-group Administrators
    Administrators(members:Principal admin,Principal user1)

4.2.14.29. show-policy

특정 Context ID를 포함하고 있는 Policy를 조회한다. 만약 context-id가 설정되지 않았다면, "default"로 설정된다.

  • alias

    showpolicy, getpolicy

  • 사용법

    show-policy [-contextid <context-id>]
              [-domain <domain-name>]
  • 파라미터

    파라미터설명

    [-contextid <context-id>]

    Policy를 구분하는 컨텍스트 이름이다.

  • 예제

    [MASTER]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)
    
    Unassigned permissions:
    
    
    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.* *)
    
    Unassigned permissions:

4.2.14.30. show-user

주어진 사용자에 대한 자세한 정보를 조회한다.

  • alias

    showuser, getuser

  • 사용법

    show-user <user-name>
              [-domain <domain-name>]
  • 파라미터

    파라미터설명

    <user-name>

    사용자 이름이다.

  • 예제

    [MASTER]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.31. unassign-role-from-principal

동적으로 Principal에 할당된 특정 Role을 삭제한다.

  • alias

    unassignrole, unassign-role

  • 사용법

    unassign-role-from-principal <principal>
              <role-name>
              [-domain <domain-name>]
              [-f,--forceLock]
  • 파라미터

    파라미터설명

    <principal>

    Principal 이름이다.

    <role-name>

    [동적 변경] Role 이름이다.

    [-f,--forceLock]

    설정 변경을 강제로 진행하여 반영한다.

  • 예제

    [MASTER]domain1.adminServer> unassign-role-from-principal jeus jndiuser
    The role [jndiuser] has been successfully unassigned from the principal [jeus].

4.2.14.32. unassign-resource-from-role

동적으로 Role로부터 리소스를 삭제할 때 사용한다. Role은 더 이상 해당 리소스에 접근이 불가능하다.

  • alias

    unassignresource, usassignres

  • 사용법

    unassign-resource-from-role <resource-name>
              <actions>
              <role-name>
              [-contextid <context-id>]
              [-domain <domain-name>]
              [-f,--forceLock]
  • 파라미터

    파라미터설명

    <resource-name>

    [동적 변경] 리소스 이름이다.

    <actions>

    [동적 변경] 리소스의 action 목록이다.

    <role-name>

    Role 이름이다.

    [-contextid <context-id>]

    [동적 변경] Policy를 구분하는 컨텍스트 이름이다.

    [-f,--forceLock]

    설정 변경을 강제로 진행하여 반영한다.

  • 예제

    [MASTER]domain1.adminServer> unassign-resource-from-role jeus.* -actions deploy-applications deployRole
    The resource [name=jeus.*, actions=deploy-applications] has been successfully unassigned from the role [deployRole].

4.2.14.33. unexpire-user

expire-user로 설정했던 ExpiryTime을 해제한다.

  • alias

    unexpireuser, unexuser

  • 사용법

    unexpire-user <user-name>
                [-domain <domain-name>]
  • 파라미터

    파라미터설명

    <user-name>

    사용자 이름이다.

  • 예제

    [MASTER]domain1.adminServer> unexpire-user user2
    The expiry time for user [user2] is canceled.

4.2.14.34. unlock-user

동적으로 lock-user로 설정했던 Lock을 해제한다.

  • alias

    unlockuser

  • 사용법

    unlock-user  <user-name>
              [-domain <domain-name>]
  • 파라미터

    파라미터설명

    <user-name>

    사용자 이름이다.

  • 예제

    [MASTER]domain1.adminServer> unlock-user user2
    The user [user2] has been successfully unlocked.

4.2.15. 설정 편집 명령어

본 절에서는 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.15.1. activate-configuration

수정한 내용을 서버에 반영시키고 결과를 출력한다.

  • alias

    activate

  • 사용법

    activate-configuration
  • 예제

    [MASTER]domain1.adminServer>cd /
    
    [MASTER]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)
    
    [MASTER]domain1.adminServer>set description "Hello, world"
    The value Hello, world is set at the specified location /description.
    [MASTER]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)
    
    [MASTER]domain1.adminServer>activate
    The activation completed successfully.
    
    [Details]
    domain.xml : ACTIVATED
    domain : ACTIVATED
    domain.description : ACTIVATED

4.2.15.2. cancel

수정한 내용을 삭제하고, 동적 설정 변경을 위한 Lock을 해제한다. 명령어를 수행하는 유저가 Lock을 갖고 있지 않아도 사용할 수 있다. 이에 동적 설정 변경을 위한 Lock을 강제로 해제하는 용도로도 사용할 수 있는 명령어이다.

  • 사용법

    cancel
  • 예제

    [MASTER]domain1.adminServer>edit
    Successfully acquired a configuration lock from Domain Administration Server.
    
    [MASTER]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)
    
    [MASTER]domain1.adminServer>cancel
    Current configuration editing status is cleared, and the configuration lock is released.
    
    [MASTER]domain1.adminServer>ls
    Current user does not have the configuration lock.

4.2.15.3. change-current-path

지정한 경로를 현재 경로로 변경한다. 변경할 경로를 지정하지 않은 경우 현재 경로를 표시한다.

  • alias

    cd

  • 사용법

    change-current-path [<path>]
  • 파라미터

    파라미터설명

    [<path>]

    변경하고자 하는 경로를 지정한다. 경로 지정은 상대 경로나 절대 경로 방식을 모두 사용할 수 있다.

  • 예제

    [MASTER]domain1.adminServer>change-current-path servers/server/adminServer
    Current path is changed to /servers/server/adminServer
    
    [MASTER]domain1.adminServer>change-current-path ..
    Current path is changed to /servers/server
    
    [MASTER]domain1.adminServer>change-current-path .
    Current path is changed to /servers/server
    
    [MASTER]domain1.adminServer>change-current-path /
    Current path is changed to /
    
    [MASTER]domain1.adminServer>change-current-path servers/server/server1/../.././server/adminServer
    Current path is changed to /servers/server/adminServer
    
    [MASTER]domain1.adminServer>cd /servers/server/adminServer

4.2.15.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을 생성하는 예제이다.

      [MASTER]domain1.adminServer>cd /
      [MASTER]domain1.adminServer>create-empty-element passwordValidator
      Created an empty complex type of passwordValidator at path /
    • complex type을 원소로 갖는 목록에 새로운 complex type을 추가하는 예제이다. 'server2'를 식별자인 서버 이름으로 사용하는 새로운 server 항목이 생성되어 목록에 추가되어 있는 것을 확인할 수 있다.

      [MASTER]domain1.adminServer>cd /servers/server
      Current path is changed to /servers/server
      
      [MASTER]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].
      
      [MASTER]domain1.adminServer>create-empty-element server2
      Added a new element of type server with id [name == server2] to the list at path /servers/server
      
      [MASTER]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 명령어 결과에 현재 목록이 원소로 여러 형식의 항목을 갖는 것을 확인할 수 있다. 형식을 지정하지 않은 경우 안내 메시지가 출력되는 것도 볼 수 있다.

      [MASTER]domain1.adminServer>cd /servers/server/adminServer/systemLogging/jeus/handler/ fileHandlerOrSmtpHandlerOrSocketHandler
      [MASTER]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].
      
      [MASTER]domain1.adminServer>create-empty-element handler1
      Must specify an element type to create a new element. Available types are fileHandler, userHandler, smtpHandler, socketHandler.
      
      [MASTER]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
      
      [MASTER]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.15.5. delete-element

지정한 경로에 위치한 항목을 삭제한다.

  • alias

    delete, rm

  • 사용법

    delete-element <path>
  • 파라미터

    파라미터설명

    <path>

    값을 삭제할 항목의 경로를 지정한다.

  • 예제

    [MASTER]domain1.adminServer>cd /
    Current path is changed to /
    
    [MASTER]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)
    
    [MASTER]domain1.adminServer>delete-element description
    Successfully delete the target element at /description.
    
    [MASTER]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.15.6. start-configuration-editing

서버에 요청을 하여 동적 설정 변경 작업에 대한 Lock을 얻는다. Lock을 얻는데 성공한 경우 서버의 현재 경로를 초기화한다. Lock을 얻지 못한 경우 이후에 cancel을 제외한 명령어는 동작하지 않으므로, 설정 편집을 하고자 하는 경우 반드시 이 명령어를 먼저 수행하여 Lock을 얻어야 한다.

  • alias

    lock-and-edit, edit

  • 사용법

    start-configuration-editing [-f]
  • 파라미터

    파라미터설명

    [-f]

    다른 사용자가 동적 설정 변경에 대한 Lock을 갖고 있더라도 이를 무시하고 강제로 Lock을 얻으려고 시도한다.

  • 예제

    [MASTER]domain1.adminServer>start-configuration-editing
    Successfully acquired a configuration lock from Domain Administration Server.

4.2.15.7. set-element-value

지정한 simple type 항목의 값을 수정하거나, simpe type을 원소로 갖는 목록에 값을 추가할 때 사용한다. 이 명령어를 통해 값을 삭제할 수는 없다.

  • alias

    set

  • 사용법

    set-element-value <path><value>
  • 파라미터

    파라미터설명

    <path>

    수정할 항목의 경로를 지정한다.

    <value>

    수정할 값을 지정한다.

  • 예제

    • set-element-value 명령어를 사용하여 description 항목에 "Hello, world!"라는 값을 설정하는 예제이다.

      [MASTER]domain1.adminServer>cd /
      Current path is changed to /
      
      [MASTER]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)
      
      [MASTER]domain1.adminServer>set-element-value description "Hello,world"
      The value Hello,world is set at the specified location /description.
      
      [MASTER]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을 원소로 갖는 목록에 값을 추가하는 예제이다. 값을 추가할 목록에 대한 경로를 항목 이름으로 사용하는 것을 알 수 있다.

      [MASTER]domain1.adminServer>start-configuration-editing
      Successfully acquired a configuration lock from Domain Administration Server.
      
      [MASTER]domain1.adminServer>cd lifecycleInvocation
      Current path is changed to /lifecycleInvocation
      
      [MASTER]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
      
      [MASTER]domain1.adminServer>cd com.tmax.sample
      Current path is changed to /lifecycleInvocation/com.tmax.sample
      
      [MASTER]domain1.adminServer>cd invocation
      Current path is changed to /lifecycleInvocation/com.tmax.sample/invocation
      
      [MASTER]domain1.adminServer>create-empty-element invocation
      Added a new element of type invocation to the list at path /lifecycleInvocation/com.tmax.sample/invocation
      
      [MASTER]domain1.adminServer>cd [0]
      Current path is changed to /lifecycleInvocation/com.tmax.sample/invocation/[0]
      
      [MASTER]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])
      
      [MASTER]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.
      [MASTER]domain1.adminServer>cd invocationArgument
      Current path is changed to /lifecycleInvocation/com.tmax.sample/invocation/[0]/invocationArgument
      [MASTER]domain1.adminServer>ls
          [0]                                 arg0
      
      Current list can contain the following type of elements:
          [string]
      
      [MASTER]domain1.adminServer>set-element-value . arg1
      The value arg1 added to the list in the specified location: /lifecycleInvocation/com.tmax.sample/invocation/[0]/invocationArgument.
      
      [MASTER]domain1.adminServer>ls
          [0]                                 arg0
          [1]                                 arg1
      
      Current list can contain the following type of elements:
          [string]

4.2.15.8. show-element

지정한 경로에 위치한 항목에 대한 정보를 표시한다. 출력되는 정보는 항목의 이름, 값, 형식(type) 등이다. 경로를 지정하지 않은 경우 현재 위치에 대한 경로를 표시한다.

  • alias

    ls

  • 사용법

    show-element [<path>]
  • 파라미터

    파라미터설명

    [<path>]

    정보를 조회할 항목의 경로를 지정한다.

  • 예제

    • complex type에 대한 정보를 출력한 예제이다. 항목의 이름, 값(존재하는 경우), 값의 형식을 출력하는 것을 알 수 있다.

      [MASTER]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를 원소로 갖는 목록 항목에 대한 정보를 출력하는 예제이다. 각 항목의 이름은 식별자의 값으로 표시되며, 해당 목록에 들어갈 수 있는 값의 형식과 식별자가 표시되는 것을 알 수 있다.

      [MASTER]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.16. OSGi 관련 명령어

OSGi 기능과 관련한 명령어의 목록은 다음과 같다.

명령어설명

add-osgi-framework

도메인에 OSGi 프레임워크 설정을 추가한다.

install-bundle

지정한 위치에 있는 번들을 지정한 OSGi 프레임워크에 설치한다.

list-osgi-frameworks

도메인에 설정되어 있는 OSGi 프레임워크들에 대한 목록을 출력한다.

modify-osgi-framework

OSGi 프레임워크 설정을 수정한다.

remove-osgi-framework

OSGi 프레임워크 설정을 삭제한다.

show-osgi-framework-info

지정한 서버에서 실행 중인 OSGi 프레임워크들에 대한 정보를 출력한다.

start-bundle

지정한 번들을 시작한다.

stop-bundle

지정한 번들을 정지한다.

uninstall-bundle

지정한 번들을 삭제한다.

update-bundle

지정한 번들을 갱신한다.

4.2.16.1. add-osgi-framework

도메인에 OSGi 프레임워크 설정을 추가한다.

  • alias

    addfwk

  • 사용법

    add-osgi-framework -n,--name <framework-name>
                       [-en,--exportName <jndi-export-name>]
                       [-s,--servers <server-list>]
                       [-iib <true | false>]
                       [-ibd <path>]
                       [-dsl <start-level>]
                       [-foe <true | false>]
                       [-bid <path-list>]
                       [-f,--forceLock]
                       [-detail]
  • 파라미터

    파라미터설명

    -n,--name <framework-name>

    OSGi 프레임워크에 대한 고유한 이름을 지정한다.

    [-en,--exportName <jndi-export-name>]

    OSGi 프레임워크에 대한 JNDI 이름을 지정한다.

    [-s,--servers <server-list>]

    OSGi 프레임워크를 사용할 서버 목록을 지정한다. 여러 서버를 지정할 경우 각 이름은 콤마(,)를 사용하여 구분한다.

    [-iib <true | false>]

    Initial Bundles Directory에 있는 번들의 설치 여부를 지정한다. (true | false)

    [-ibd <path>]

    Initial Bundles Directory의 경로를 지정한다. 지정하지 않은 경우 기본 경로로 JEUS_HOME/lib/osgi/FRAMEWORK_NAME을 사용한다.

    [-dsl <start-level>]

    초기 번들 디렉터리에 위치한 번들들에 대한 start level 기본값을 지정한다.

    [-foe <true | false>]

    초기 번들 설치가 제대로 이루어지지 않았을 경우 이를 오류로 간주할지 여부를 설정한다. (true | false)

    [-bid <path-list>]

    Bundle Installation Descriptor XML 파일들의 위치를 지정한다. 여러 파일을 지정할 경우 콤마(,)를 구분자로 사용한다.

    [-f,--forceLock]

    설정 변경을 강제로 진행하여 반영한다.

    [-detail]

    동적 변경 결과에 대한 상세한 정보가 출력된다.

  • 예제

    [MASTER]domain1.adminServer>list-osgi-frameworks
    No OSGi Frameworks exists.
    
    [MASTER]domain1.adminServer>add-osgi-framework -name framework-0 -servers server1
    Successfully performed the ADD operation for OSGi Framework framework-0, but all changes were non-dynamic. They will be applied after restarting.
    Check the results using "list-osgi-frameworks".
    
    [MASTER]domain1.adminServer>list-osgi-frameworks
    List of OSGi Frameworks
    ================================================================================
    +------------------------+----------------------------+------------------------+
    |     Framework Name     |      JNDI Export Name      |     Target Servers     |
    +------------------------+----------------------------+------------------------+
    | framework-0            |                            | server1                |
    +------------------------+----------------------------+------------------------+
    ================================================================================
    [MASTER]domain1.adminServer>

4.2.16.2. install-bundle

지정한 위치에 있는 번들을 지정한 OSGi 프레임워크에 설치한다.

  • alias

    installb

  • 사용법

    install-bundle -l,--location <location>
                   -f,--framework <framework-name>
                   -s,--server <server-name>
  • 파라미터

    파라미터설명

    -l,--location <location>

    설치할 번들에 대한 URL을 지정한다.

    -f,--framework <framework-name>

    번들을 설치할 OSGi 프레임워크의 이름을 지정한다.

    -s,--server <server-name>

    번들을 설치할 서버를 지정한다.

  • 예제

    [MASTER]domain1.adminServer>install-bundle -location https://repo.maven.apache.org/maven2/org/ops4j/pax/url/pax-url-mvn/1.3.7/pax-url-mvn-1.3.7.jar
    -framework framework-0 -server server1
    Installation completed successfully.
    [MASTER]domain1.adminServer>

4.2.16.3. list-osgi-frameworks

도메인에 설정되어 있는 OSGi 프레임워크들에 대한 목록을 출력한다.li

  • alias

    lsfwks

  • 사용법

    list-osgi-frameworks [-f,--framework <framework-name>]
  • 파라미터

    파라미터설명

    [-f,--framework <framework-name>]

    지정한 OSGi 프레임워크 설정에 대한 상세를 출력한다.

  • 예제

    [MASTER]domain1.adminServer>list-osgi-frameworks
    List of OSGi Frameworks
    ================================================================================
    +------------------------+----------------------------+------------------------+
    |     Framework Name     |      JNDI Export Name      |     Target Servers     |
    +------------------------+----------------------------+------------------------+
    | framework-0            |                            | server1                |
    +------------------------+----------------------------+------------------------+
    ================================================================================
    
    [MASTER]domain1.adminServer>list-osgi-frameworks -framework framework-0
    OSGi Framework [framework-0]
    ================================================================================
    +--------------------------------------------------------------+---------------+
    |                        Attribute Name                        |     Value     |
    +--------------------------------------------------------------+---------------+
    | Framework Name                                               | framework-0   |
    | JNDI Export Name                                             | Not Specified |
    | Target Servers                                               | server1       |
    | Install Initial Bundles                                      | true          |
    | Initial Bundles Directory Location                           | Not Specified |
    | Default Start Level                                          |            30 |
    | Fail On Error                                                | true          |
    +--------------------------------------------------------------+---------------+
    ================================================================================
    
    Framework Configuration Properties
    ====================================================
    +-----+--------------------------------------------+
    | Key |                    Value                   |
    +-----+--------------------------------------------+
    (No data available)
    ====================================================
    
    Bundle Installation Descriptors
    ================================================================================
    +------------------------------------------------------------------------------+
    |                                   Location                                   |
    +------------------------------------------------------------------------------+
    (No data available)
    ================================================================================

4.2.16.4. modify-osgi-framework

OSGi 프레임워크 설정을 추가한다.

  • alias

    modfwk

  • 사용법

    modify-osgi-framework -n,--name <framework-name>
                          [-en,--exportName <jndi-export-name>]
                          [-s,--servers <server-list>]
                          [-iib <true | false>]
                          [-ibd <path>]
                          [-dsl <start-level>]
                          [-foe <true | false>]
                          [-bid <path-list>]
                          [-f,--forceLock]
                          [-detail]
  • 파라미터

    파라미터설명

    -n,--name <framework-name>

    OSGi 프레임워크에 대한 고유한 이름을 지정한다.

    [-en,--exportName <jndi-export-name>]

    OSGi 프레임워크에 대한 JNDI 이름을 지정한다.

    [-s,--servers <server-list>]

    OSGi 프레임워크를 사용할 서버 목록을 지정한다. 여러 서버를 지정할 경우, 각 이름은 콤마(,)를 사용하여 구분한다.

    [-iib <true | false>]

    Initial Bundles Directory에 있는 번들들을 설치 여부를 지정한다. (true | false)

    [-ibd <path>]

    Initial Bundles Directory의 경로를 지정한다. 지정하지 않은 경우 기본 경로로 JEUS_HOME/lib/osgi/FRAMEWORK_NAME을 사용한다.

    [-dsl <start-level>]

    초기 번들 디렉터리에 위치한 번들들에 대한 start level 기본값을 지정한다.

    [-foe <true | false>]

    초기 번들 설치가 제대로 이루어지지 않았을 경우 이를 오류로 간주할지 여부를 설정한다. (true | false)

    [-bid <path-list>]

    Bundle Installation Descriptor XML 파일들의 위치를 지정한다. 여러 파일을 지정할 경우 콤마(,)를 구분자로 사용한다.

    [-f,--forceLock]

    설정 변경을 강제로 진행하여 반영한다.

    [-detail]

    동적 변경 결과에 대한 상세한 정보가 출력된다.

  • 예제

    [MASTER]domain1.adminServer>modify-osgi-framework -name framework-0 -dsl 45 
    Successfully performed the MODIFY operation for OSGi Framework framework-0, but some changes were non-dynamic. They will be applied after restarting.
    Check the results using "list-osgi-frameworks".
    [MASTER]domain1.adminServer>

4.2.16.5. remove-osgi-framework

OSGi 프레임워크 설정을 삭제한다.

  • alias

    rmfwk

  • 사용법

    remove-osgi-framework -n,--name <framework-name>
  • 파라미터

    파라미터설명

    -n,--name <framework-name>

    삭제할 OSGi 프레임워크의 이름을 지정한다.

  • 예제

    [MASTER]domain1.adminServer>remove-osgi-framework -name framework-0
    Successfully performed the REMOVE operation for OSGi Framework framework-0.
    Check the results using "list-osgi-frameworks".
    [MASTER]domain1.adminServer>

4.2.16.6. show-osgi-framework-info

지정한 서버에서 실행 중인 OSGi 프레임워크들에 대한 정보를 출력한다.

  • alias

    osgiinfo, fwkinfo

  • 사용법

    show-osgi-framework-info -s,--server <server-name>
                             [-f,--framework <framework-name>]
                             [-lb]
  • 파라미터

    파라미터설명

    -s,--server <server-name>

    대상 서버를 지정한다.

    [-f,--framework <framework-name>]

    정보를 출력할 OSGi 프레임워크의 이름을 지정한다.

    [-lb]

    설치되어 있는 번들들에 대한 정보를 출력할지 여부를 지정한다. f 옵션과 함께 사용해야 한다.

  • 예제

    [MASTER]domain1.adminServer>show-osgi-framework-info -server server1 -framework framework-0 -lb
    OSGi Framework [framework-0] Information in the server[framework-0]
    Framework [framework-0] Overview
    ======================================================================
    +----------------------------------------------------------+---------+
    |                    System Bundle Name                    | Version |
    +----------------------------------------------------------+---------+
    | org.apache.felix.framework                               | 5.4.0   |
    +----------------------------------------------------------+---------+
    ======================================================================
    
    Installed Bundles in the framework [framework-0].
    ================================================================================
    +----+-------------------+---------+--------------------+--------+-------------+
    | Id |   Symbolic Name   | Version |      Location      |  State | Start-level |
    +----+-------------------+---------+--------------------+--------+-------------+
    |  0 | org.apache.felix. | 5.4.0   | System Bundle      | ACTIVE |           0 |
    |    |framework          |         |                    |        |             |
    +----+-------------------+---------+--------------------+--------+-------------+
    |  2 | org.ops4j.pax.url | 1.3.7   | https://repo.maven | ACTIVE |          30 |
    |    |.mvn               |         |.apache.org/maven2/ |        |             |
    |    |                   |         |org/ops4j/pax/url/p |        |             |
    |    |                   |         |ax-url-mvn/1.3.7/pa |        |             |
    |    |                   |         |x-url-mvn-1.3.7.jar |        |             |
    +----+-------------------+---------+--------------------+--------+-------------+
    ================================================================================
    
    [MASTER]domain1.adminServer>

4.2.16.7. start-bundle

지정한 번들을 시작한다.

  • alias

    startb

  • 사용법

    start-bundle -name <bundle-symbolic-name>
                 [-version <bundle-version>]
                 -f,--framework <framework-name>
                 -s,--server <server-name>
  • 파라미터

    파라미터설명

    -name <bundle-symbolic-name>

    시작할 번들의 이름을 지정한다.

    [-version <bundle-version>]

    시작할 번들의 버전을 지정한다.

    -f,--framework <framework-name>

    OSGi 프레임워크의 이름을 지정한다.

    -s,--server <server-name>

    대상 서버를 지정한다.

  • 예제

    [MASTER]domain1.adminServer>start-bundle -name org.ops4j.pax.url.mvn -framework framework-0 -server server1
    The bundle has been started successfully.
    [MASTER]domain1.adminServer>

4.2.16.8. stop-bundle

지정한 번들을 정지한다.

  • alias

    stopb

  • 사용법

    stop-bundle -name <bundle-symbolic-name>
                 [-version <bundle-version>]
                 -f,--framework <framework-name>
                 -s,--server <server-name>
  • 파라미터

    파라미터설명

    -name <bundle-symbolic-name>

    정지할 번들의 이름을 지정한다.

    [-version <bundle-version>]

    정지할 번들의 버전을 지정한다.

    -f,--framework <framework-name>

    OSGi 프레임워크의 이름을 지정한다.

    -s,--server <server-name>

    대상 서버를 지정한다.

  • 예제

    [MASTER]domain1.adminServer>stop-bundle -name org.ops4j.pax.url.mvn -framework framework-0 -server server1
    The bundle has been stopped successfully.
    [MASTER]domain1.adminServer>

4.2.16.9. uninstall-bundle

지정한 번들을 삭제한다.

  • alias

    uninstallb

  • 사용법

    uninstall-bundle -name <bundle-symbolic-name>
                     [-version <bundle-version>]
                     -f,--framework <framework-name>
                     -s,--server <server-name>
  • 파라미터

    파라미터설명

    -name <bundle-symbolic-name>

    갱신할 번들의 이름을 지정한다.

    [-version <bundle-version>]

    갱신할 번들의 버전을 지정한다.

    -f,--framework <framework-name>

    OSGi 프레임워크의 이름을 지정한다.

    -s,--server <server-name>

    대상 서버를 지정한다.

  • 예제

    [MASTER]domain1.adminServer>uninstall-bundle -name org.ops4j.pax.url.mvn -framework framework-0 -server server1
    The bundle has been uninstalled successfully.
    [MASTER]domain1.adminServer>

4.2.16.10. update-bundle

지정한 번들을 갱신한다.

  • alias

    updateb

  • 사용법

    update-bundle -name <bundle-symbolic-name>
                  [-version <bundle-version>]
                  -f,--framework <framework-name>
                  -s,--server <server-name>
                  [-l,--location <location>]
  • 파라미터

    파라미터설명

    -name <bundle-symbolic-name>

    갱신할 번들의 이름을 지정한다.

    [-version <bundle-version>]

    갱신할 번들의 버전을 지정한다.

    -f,--framework <framework-name>

    OSGi 프레임워크의 이름을 지정한다.

    -s,--server <server-name>

    대상 서버를 지정한다.

    [-l,--location <location>]

    갱신할 때 사용할 번들에 대한 URL을 지정한다.

  • 예제

    [MASTER]domain1.adminServer>update-bundle -name org.ops4j.pax.url.mvn -framework framework-0 -server server1
    The bundle has been updated successfully.
    [MASTER]domain1.adminServer>

4.2.17. JSON을 사용한 명령어 실행

HTTP POST 요청을 사용하여 명령어 실행을 요청하는 JSON 문장을 보내면, 서버에서 요청을 처리한 후 명령어 실행 결과를 담은 JSON 문장을 HTTP 응답으로 보내주는 구조이다.

참고

JSON에 대한 기본적인 내용은 www.json.org을 참고한다.

4.2.17.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","Running Engines"
                    ],
                    "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.17.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.17.1. 일반 명령어 실행”을 참고한다.

참고

애플리케이션 설치 또는 배포에 관련한 명령어는 install-application, deploy-application, distribute-application이 있다.

4.2.18. Script 모드 사용법 및 Script 작성법

본 절에서는 Script 모드 사용법 및 Script 작성법에 대해서 설명한다.

4.2.18.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 JEUS Master Server [adminServer] in the domain [domain1].
    JEUS 21 Administration Tool
    To view help, use the 'help' command.

    Script 모드로 사용시 추가적으로 JEUS 커맨드 예외를 무시하는 옵션을 사용 할 수 있다. -i 또는 -ignore 옵션을 사용하면 JEUS 커맨드 오류가 발생하더라도 스크립트는 계속 이어서 실행된다. 단, 스크립트 자체의 오류가 있을 경우에는 중단된다.

    [-i, --ignore] 옵션은 Script 모드에서만 사용 가능하다.

    JEUS_HOME/bin$jeusadmin -u administrator -p jeus -script "test.py" -i
    JEUS_HOME/bin$jeusadmin -u administrator -p jeus -script "test.py" --ignore

    아래와 같이 스크립트에 인자를 넘겨 줄 수도 있다.

    JEUS_HOME/bin$jeusadmin -u administrator -p jeus -script "test.py arg1 arg2"

4.2.18.2. Script 작성법

jeusadmin은 Script 모드로 동작할 때에 JEUS 커맨드 실행을 위한 메서드와 결과 데이터를 제공한다.

  • 커맨드 실행

    아래와 같은 방법으로 각 스크립트 언어별로 JEUS 커맨드를 실행할 수 있다.

    • Python, Ruby 공통

      result = command("server-info")
    • Ruby

      result = command "server-info"

      선택 사항으로 JEUS 커맨드에 verbose 옵션을 추가적으로 실행할 수 있다. 기본적으로 비활성화(false) 상태이다. JEUS 커맨드에 verbose 옵션을 활성화(true) 한 경우에는 해당 커맨드의 실행 결과를 화면에 상세하게 출력한다.

    • Python:

      result = command("server-info", [True | False])
    • Ruby:

      result = command "server-info", [true | false]
  • 결과 데이터

    JEUS 커맨드 실행에 대한 결과로 JeusResult 객체가 리턴되며 결과가 표 형태의 결과를 포함할 경우 JeusResult로부터 JeusTabularData 객체를 얻을 수 있다. 각 데이터 타입은 아래와 같은 메소드를 제공한다.

    • JeusResult

      메소드설명

      isComplete()

      JEUS 커맨드 실행이 정상적으로 완료되었는지 리턴한다.

      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]))
    • 스크립트의 인자로 애플리케이션 경로와 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))
참고

현재 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 메소드가 추가되었으므로 이에 기반하는 향후 버전에서는 문제가 생기지 않을 것이다. 그러나 현재는 임시 디렉터리를 수동으로 삭제해야 한다.

다음은 툴 사용법, 파라미터 및 예제에 대한 설명이다.

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에서 지원하는 프로퍼티 목록이다. 각 프로퍼티에 대한 상세 설명은 대응되는 jeus-ejb-dd.xml 태그의 description을 참고한다.

프로퍼티Type비고

source

String

대상 EJB 모듈의 경로이다. jeus-ejb-dd.xml의 태그와 관련 없다.

logging-level

String

ejbddinit를 실행할 때 화면에 출력되는 로그의 레벨로 jeus-ejb-dd.xml의 태그와 관련 없다.

export-name

String

jeus-ejb-dd.xml의 <export-name> 태그에 대응한다. 특정 EJB에 대해서만 사용을 권장한다. 사용하는 경우 패턴을 지원한다. 자세한 내용은 export-name 프로퍼티에 대한 패턴 지원을 참고한다.

local-export-name

String

jeus-ejb-dd.xml의 <local-export-name> 태그에 대응한다. 특정 EJB에 대해서만 사용을 권장한다.

export-port

int (not negative)

jeus-ejb-dd.xml의 <export-port> 태그에 대응한다.

export-iiop

boolean

jeus-ejb-dd.xml의 <export-iiop> 태그에 대응한다.

thread-max

int (not negative)

jeus-ejb-dd.xml의 <thread-max> 태그에 대응한다.

bean-pool-min

int (not negative)

jeus-ejb-dd.xml의 <bean-pool>/<pool-min> 태그에 대응한다.

bean-pool-max

int (not negative)

jeus-ejb-dd.xml의 <bean-pool>/<pool-max> 태그에 대응한다.

connect-pool-min

int (not negative)

jeus-ejb-dd.xml의 <connect-pool>/<pool-min> 태그에 대응한다.

connect-pool-max

int (not negative)

jeus-ejb-dd.xml의 <connect-pool>/<pool-max> 태그에 대응한다.

capacity

int (not negative)

jeus-ejb-dd.xml의 <capacity> 태그에 대응한다.

passivation-timeout

long (not negative or -1 for disable)

jeus-ejb-dd.xml의 <passivation-timeout> 태그에 대응한다.

disconnect-timeout

long (not negative or -1 for disable)

jeus-ejb-dd.xml의 <disconnect-timeout> 태그에 대응한다.

engine-type

String (defined)

jeus-ejb-dd.xml의 <engine-type> 태그에 대응한다.

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

  • EXCLUSIVE_ACCESS

  • SINGLE_OBJECT

  • MULTIPLE_OBJECT

subengine-type

String (defined)

jeus-ejb-dd.xml의 <subengine-type> 태그에 대응한다.

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

  • ReadLocking

  • WriteLocking

  • WriteLockingFind

fetch-size

int (not negative)

jeus-ejb-dd.xml의 <fetch-size> 태그에 대응한다.

init-caching

boolean

jeus-ejb-dd.xml의 <init-caching> 태그에 대응한다.

table-name

String

jeus-ejb-dd.xml의 <table-name> 태그에 대응한다.

creating-table

String (defined)

jeus-ejb-dd.xml의 <creating-table> 태그에 대응한다.

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

  • none

  • use-existing

  • force-create

deleting-table

boolean

jeus-ejb-dd.xml의 <deleting-table> 태그에 대응한다.

db-vendor

String

jeus-ejb-dd.xml의 <db-vendor> 태그에 대응한다.

datasource-name

String

jeus-ejb-dd.xml의 <data-source-name> 태그에 대응한다.

enable-instant-ql

boolean

jeus-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을 설정할 때 필요한 기타 문자열(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를 이용하여 경로를 지정한다.

encryption은 다음의 디렉터리에 위치한 encryption 스크립트로 실행할 수 있다.

JEUS_HOME/bin/

다음은 툴 사용법, 파라미터 및 예제에 대한 설명이다.

4.6. java2wsdl

java2wsdl은 JAX-RPC 웹 서비스를 위한 툴로 Java 클래스로부터 WSDL 파일과 JAX-RPC 매핑 파일을 생성한다. 또한 service end-point interface Java 클래스(또는 구현 클래스)로부터 웹 서비스의 WSDL 파일, JAX-RPC 매핑 파일과 같은 리소스를 생성한다.

다음은 툴 사용법, 파라미터 및 예제에 대한 설명이다.

4.7. jeusddupgrade

jeusddupgrade는 사용자 입력한 애플리케이션 내 JEUS DD 파일(jeus-ejb-dd.xml, jeus-web-dd.xml, jeus-application-dd.xml)을 현재 JEUS 버전에 맞도록 수정해 주는 툴이다.

다음은 툴 사용법, 파라미터 및 예제에 대한 설명이다.

4.8. schemagen

schemagen 툴은 Java 클래스들에 나타나는 각각의 Namespace에 대해 하나의 스키마 파일을 생성한다.

다음은 툴 사용법, 파라미터 및 예제에 대한 설명이다.

4.9. tcpmon

본 절에서는 tcpmon 툴에 대해 설명한다.

4.9.1. 실행

tcpmon 프로그램은 송수신하는 TCP 패킷을 조회하는 프로그램으로 HTTP의 SOAP 메시지를 조회할 때 사용한다.

tcpmon은 다음의 2가지 모드로 동작한다.

모드설명

Listener

tcpmon이 listen port로 요청을 받아서 지정된 target host와 target port로 받은 요청을 다시 전송하고 응답을 받아서 원래 요청한 커넥션으로 응답을 전송한다.

Proxy

tcpmon을 일반적인 HTTP Proxy처럼 동작하게 한다.

다음과 같이 tcpmon을 실행하면 [그림 4.1] 화면이 나타난다.

$ tcpmon

[그림 4.1] tcpmon 실행 화면

figure webservice tools tcpmon

4.9.2. Listener 모드의 사용

Listener 모드를 사용하기 위해서 다음과 같은 시나리오를 가정한다.

  • 서버(A)는 8000번 Port로 SOAP 요청을 받아들인다.

  • 클라이언트(B)의 웹 서비스 클라이언트가 송수신하는 SOAP 메시지를 모니터링하고자 한다.

[그림 4.2] 서버(A)가 8000번 포트로 SOAP 요청을 받아들이는 시나리오

figure webservice tools listenermode1

이 경우 웹 서비스 클라이언트 프로그램에서는 tcpmon을 사용하여 SOAP 메시지를 모니터링할 수 있다.

클라이언트(B)에서 tcpmon을 실행한 뒤 다음과 같이 설정한다.

  1. [Admin] 탭에서 'Listen Port'는 '9000'으로 입력하고 'Act as a'는 'Listener'를 선택한다. 'Listener'의 하위 항목인 'Target Hostname'는 'A', 'Target Port'는 '8000'으로 입력한다. 각각의 값을 입력한 후 [Add] 버튼을 클릭한다.

    [그림 4.3] Listener 모드 입력 화면

    figure webservice tools listenermode2

  2. 다음과 같이 [Port 9000] 탭이 생성된다. 이 탭을 클릭하면 다음과 같은 화면이 나타난다.

    [그림 4.4] 모니터링 화면

    figure webservice tools listenermode3

    화면의 체크박스와 각 버튼에 대한 설명이다.

    항목설명

    XML Format

    XML을 보기 좋은 형태로 정렬하여 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로 전송

    figure webservice tools listenermode4

웹 서비스의 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.9.3. Proxy 모드의 사용

Proxy 모드는 tcpmon을 일반적인 HTTP Proxy처럼 동작하게 한다. Proxy 모드는 [Admin] 탭에서 'Listen Port'를 입력하고 'Act as a'Proxy를 선택하고 [Add] 버튼을 클릭해서 사용한다.

Proxy 모드의 경우 애플리케이션을 수정하지 않고 애플리케이션을 실행할 때 다음의 옵션을 설정하여 tcpmon을 사용할 수 있다.

옵션설명

-Dhttp.proxyHost

tcpmon이 수행되고 있는 Host 이름 또는 IP 주소를 입력한다.

-Dhttp.proxyPort

tcpmon의 Listen Port를 입력한다.

클라이언트 애플리케이션이 com.acme.AddressBookClient 클래스인 경우 다음과 같이 옵션을 설정하여 java를 실행한다.

java –Dhttp.proxyHost=B –Dhttp.proxyPort=9000 com.acme.AddressBookClient

4.9.4. 기타 기능

각 Port별 탭에서 SOAP 메시지를 formatting하거나 저장 또는 재전송을 할 수 있다.

4.10. webddgen

webddgen은 사용자 입력 값을 바탕으로 웹 애플리케이션 내 WEB-INF 디렉터리에 jeus-web-dd.xml를 생성 또는 업데이트하는 툴이다. 웹 모듈 내부의 WEB-INF 디렉터리에 jeus-ejb-dd.xml을 생성한다. 압축 파일인 경우 그 파일에 jeus-web-dd.xml을 포함시켜준다.

다음은 툴 사용법, 파라미터 및 예제에 대한 설명이다.

4.11. wsgen

wsgen 툴은 JAX-WS 웹 서비스를 위한 툴이다. JAX-WS 웹 서비스를 위한 툴로 Java 클래스로부터 WSDL 파일과 JAX-RPC 매핑 파일을 생성하고, 웹 서비스 정책 설정 파일을 생성할 수도 있다.

wsgen 툴은 service endpoint interface 클래스(그리고 임의의 Java로 구현한 클래스)로부터 다음과 같은 것을 생성한다.

다음은 툴 사용법, 파라미터 및 예제에 대한 설명이다.

4.12. wsimport

wsimport는 JAX-WS 웹 서비스를 위한 툴이다. WSDL 파일로부터 클라이언트 측 Java Stub 소스 파일들과 서버 측 웹 서비스 인터페이스 Java 소스 파일, 웹 서비스 정책 설정 파일을 생성한다.

wsimport 툴은 웹 서비스의 WSDL로부터 다음과 같은 것을 생성한다.

다음은 툴 사용법, 파라미터 및 예제에 대한 설명이다.

4.13. wsdl2java

wsdl2java은 JAX-RPC 웹 서비스를 위한 툴로 WSDL 파일로부터 다음의 파일을 생성한다.

다음은 툴 사용법, 파라미터 및 예제에 대한 설명이다.

4.14. wsdl2uddi

WSDL은 추상적인 인터페이스와 임의의 네트워크 서비스의 프로토콜 바인딩들을 제공함으로써 UDDI 표준을 보완할 수 있다. JEUS UDDI WSDL Publishing은 WSDL2UDDI을 제공한다. wsdl2uddi 툴은 웹 서비스의 WSDL 파일로부터 UDDI에 Publish할 수 있다.

다음은 툴 사용법, 파라미터 및 예제에 대한 설명이다.

4.15. xjc

xjc 툴은 XML 스키마 파일을 Java 프로그래밍 언어로 된 JAXB Content 클래스들로 변환한다.

다음은 툴 사용법, 파라미터 및 예제에 대한 설명이다.