2.3. JBoss EAP 일시 중단 및 종료


JBoss EAP는 정상적으로 일시 중지되거나 종료될 수 있습니다. 이렇게 하면 새 요청을 수락하지 않고도 활성 요청이 정상적으로 완료될 수 있습니다. 시간 초과 값은 일시 중지 또는 종료 작업이 활성 요청이 완료될 때까지 대기하는 시간을 지정합니다. 서버가 일시 중지되는 동안 관리 요청이 계속 처리됩니다.

일시 중단 및 정상 종료는 서버 전체 조정되어 요청이 서버에 들어오는 진입점에 중점을 둡니다. 다음 하위 시스템은 일시 중지 및 정상 종료를 지원합니다.

Cryostat
undertow 하위 시스템은 모든 요청이 완료될 때까지 기다립니다.
mod_cluster
modcluster 하위 시스템은 로드 밸런서에 서버가 PRE_SUSPEND 단계에서 일시 중단됨을 알립니다.
Jakarta Enterprise Cryostats
Cryo stat3 하위 시스템은 모든 원격 세션 빈 요청 및 Cryostat 메시지 전달이 완료될 때까지 기다립니다. PRE_SUSPEND 단계에서 Cryostat에 대한 전달이 중지됩니다. Jakarta Enterprise Cryostat 타이머는 일시 중지되며 서버가 다시 시작될 때 누락된 타이머가 활성화됩니다.
트랜잭션

일시 중지되면 서버는 새 요청을 허용하지 않지만 진행 중 트랜잭션 및 요청은 완료되거나 시간 초과 기간이 만료될 때까지 계속될 수 있습니다. 예를 들어 서버는 일시 중단 서버에서 활성 트랜잭션과 관련된 들어오는 원격 호출을 허용합니다.

이는 XTS 트랜잭션과 관련된 웹 서비스 요청에도 적용됩니다.

정상 종료 전에 트랜잭션을 시작하고 실패하는 경우(예: 필요한 데이터베이스를 사용할 수 없음) 복구 관리자가 정상 종료 절차로 인해 작동하지 않을 수 있으므로 트랜잭션이 자동으로 복구되지 않습니다. 복구 관리자를 사용하고 실패한 트랜잭션을 완료하려면 JBoss EAP 인스턴스를 다시 시작해야 합니다.

기본적으로 Cryostat 3 하위 시스템에 대해 트랜잭션 정상 종료가 비활성화됩니다. 일시 중지하기 전에 서버가 Jakarta Enterprise Cryostats 관련 트랜잭션이 완료될 때까지 대기하려면 트랜잭션 정상 종료를 활성화해야 합니다. 예를 들면 다음과 같습니다.

/subsystem=ejb3:write-attribute(name=enable-graceful-txn-shutdown,value=true)
Copy to Clipboard Toggle word wrap

Jakarta Enterprise Cryostats 클라이언트가 정상 종료 중에 클러스터 노드를 호출할 수 있으므로 이 동작은 기본적으로 비활성화되어 있습니다. 클러스터 환경에서 서버는 원격 호출에 더 이상 노드를 사용할 수 없음을 트랜잭션이 완료된 원격 클라이언트에 알립니다. 클라이언트가 이 기간 동안(처리가 완료되기 전에) 새 요청을 종료하는 노드에 보내는 경우 노드는 요청을 거부합니다.

Jakarta Concurrency

서버는 모든 활성 작업이 완료될 때까지 기다립니다. 대기 중인 모든 작업은 건너뜁니다. Jakarta Concurrency에는 지속성이 없으므로 건너뛰는 대기 중인 작업이 손실됩니다.

서버가 일시 중단된 상태이지만 예약된 작업은 예약된 시간에 계속 실행되지만 java.lang.IllegalStateException 이 발생합니다. 서버가 다시 시작되면 예약된 작업이 정상적으로 계속 실행되고 대부분의 경우 작업을 다시 예약할 필요가 없습니다.

batch
서버는 제한 시간 내에 실행 중인 모든 작업을 중지하고 예약된 모든 작업을 지연합니다.
참고

정상 종료는 현재 새 인바운드 Jakarta 메시징 메시지를 거부하지 않습니다. Jakarta Batch 작업과 Jakarta Concurrency 작업이 현재 진행 중일 수 있지만 실행 시 현재 시간 초과 창을 통과하는 Jakarta Concurrency 작업이 제출되었습니다.

요청은 request-controller 하위 시스템에서 추적합니다. 이 하위 시스템이 없으면 일시 중지 및 재개 기능이 제한되며 서버는 요청을 일시 중지하거나 종료하기 전에 요청이 완료될 때까지 기다리지 않습니다. 이 기능이 필요하지 않은 경우 약간의 성능 향상을 위해 request-controller 하위 시스템을 제거할 수 있습니다.

2.3.1. 서버 일시 중단

JBoss EAP 8.1은 서버 작업을 정상적으로 일시 중단하는 일시 중단 모드를 제공합니다. 이렇게 하면 모든 활성 요청이 정상적으로 완료되지만 새 요청을 수락하지 않습니다. 서버가 일시 중지되면 종료되거나 실행 중인 상태로 반환되거나 유지보수를 수행하기 위해 일시 중지된 상태로 되돌릴 수 있습니다.

참고

관리 인터페이스는 서버를 일시 중지하면 영향을 받지 않습니다.

관리 콘솔 또는 관리 CLI를 사용하여 서버를 일시 중지하고 다시 시작할 수 있습니다.

서버 일시 중단 상태 확인

서버 일시 중단 상태는 다음 관리 CLI 명령을 사용하여 볼 수 있습니다. 결과 값은 RUNNING,PRE_SUSPEND,SUSPENDING 또는 SUSPENDED 중 하나입니다.

  • 독립 실행형 서버의 일시 중단 상태를 확인합니다.

    :read-attribute(name=suspend-state)
    Copy to Clipboard Toggle word wrap
  • 관리형 도메인에서 서버의 일시 중단 상태를 확인합니다.

    /host=primary/server=server-one:read-attribute(name=suspend-state)
    Copy to Clipboard Toggle word wrap

일시 중단

다음 관리 CLI 명령을 사용하여 활성 요청이 완료될 때까지 대기하는 시간 제한 값(초)을 지정하여 서버를 일시 중지합니다. 기본값은 0 이며 즉시 일시 중지됩니다. 값이 -1 이면 모든 활성 요청이 완료될 때까지 서버가 무기한 대기합니다.

각 예제에서는 일시 중지하기 전에 요청이 완료될 때까지 최대 60초 동안 기다립니다.

  • 독립 실행형 서버를 일시 중지합니다.

    :suspend(suspend-timeout=60)
    Copy to Clipboard Toggle word wrap
  • 관리형 도메인의 모든 서버를 일시 중지합니다.

    :suspend-servers(suspend-timeout=60)
    Copy to Clipboard Toggle word wrap
  • 관리형 도메인에서 단일 서버를 일시 중지합니다.

    /host=primary/server-config=server-one:suspend(suspend-timeout=60)
    Copy to Clipboard Toggle word wrap
  • 서버 그룹의 모든 서버를 일시 중지합니다.

    /server-group=main-server-group:suspend-servers(suspend-timeout=60)
    Copy to Clipboard Toggle word wrap
  • 특정 호스트 컨트롤러에서 관리하는 모든 서버를 일시 중지합니다.

    /host=primary:suspend-servers(suspend-timeout=60)
    Copy to Clipboard Toggle word wrap

resume

resume 명령은 새 요청을 수락하도록 서버를 일반 실행 상태로 반환합니다. 호스트, 서버, 서버 그룹 또는 도메인 수준에서 명령을 시작할 수 있습니다. 예를 들면 다음과 같습니다.

:resume
Copy to Clipboard Toggle word wrap

Suspended 상태에서 서버 시작

서버가 다시 시작될 때까지 서버에서 요청을 수락하지 않도록 일시 중지된 상태에서 서버를 시작할 수 있습니다.

  • 독립 실행형 서버를 일시 중단된 상태로 시작하려면 JBoss EAP 인스턴스를 시작할 때 --start-mode=suspend 런타임 인수를 사용합니다.

    $ EAP_HOME/bin/standalone.sh --start-mode=suspend
    Copy to Clipboard Toggle word wrap
  • 관리형 도메인 서버를 일시 중단된 상태로 시작하려면 관리 CLI 명령에서 start-mode=suspend 인수를 시작 작업에 전달합니다.

    /host=HOST_NAME/server-config=SERVER_NAME:start(start-mode=suspend)
    Copy to Clipboard Toggle word wrap
    참고

    start-mode 인수를 서버의 다시 로드재시작 작업에 전달할 수도 있습니다.

  • 관리형 도메인 서버 그룹의 모든 서버를 일시 중단된 상태로 시작하려면 관리 CLI 명령에서 start-mode=suspend 인수를 start-servers 작업에 전달합니다.

    /server-group=SERVER_GROUP_NAME:start-servers(start-mode=suspend)
    Copy to Clipboard Toggle word wrap
    참고

    start-mode 인수를 서버 그룹에 대한 reload-serversrestart-servers 작업에 전달할 수도 있습니다.

2.3.2. 관리 CLI를 사용하여 정상적으로 서버 종료

서버를 중지할 때 적절한 시간 초과 값이 지정된 경우 서버가 정상적으로 종료됩니다. 명령이 실행되면 서버가 일시 중지되고 종료되기 전에 모든 요청이 완료될 때까지 지정된 시간 초과까지 기다립니다.

다음 관리 CLI 명령을 사용하여 서버를 정상적으로 종료합니다. 서버가 활성 요청이 완료될 때까지 대기할 시간 초과 값(초)을 지정합니다. 기본값은 서버를 즉시 종료하는 0 입니다. 값 -1 을 사용하면 서버가 종료되기 전에 모든 활성 요청이 완료될 때까지 무기한 대기합니다.

각 예제에서는 요청을 종료하기 전에 최대 60초 동안 기다립니다.

  • 독립 실행형 서버를 정상적으로 종료합니다.

    shutdown --suspend-timeout=60
    Copy to Clipboard Toggle word wrap
  • 관리형 도메인의 모든 서버를 정상적으로 중지합니다.

    :stop-servers(suspend-timeout=60)
    Copy to Clipboard Toggle word wrap
  • 관리형 도메인에서 정상적으로 단일 서버를 중지합니다.

    /host=primary/server-config=server-one:stop(suspend-timeout=60)
    Copy to Clipboard Toggle word wrap
  • 서버 그룹의 모든 서버를 정상적으로 중지합니다.

    /server-group=main-server-group:stop-servers(suspend-timeout=60)
    Copy to Clipboard Toggle word wrap
  • 호스트 컨트롤러와 관리하는 모든 서버를 종료합니다.

    /host=primary:shutdown(suspend-timeout=60)
    Copy to Clipboard Toggle word wrap

suspend-timeout 속성은 호스트 컨트롤러가 아닌 호스트 컨트롤러에서 관리하는 서버에만 적용됩니다.

OS 신호를 사용하여 정상적으로 서버 종료

org.wildfly.sigterm.suspend.timeout 시스템 속성을 설정한 다음 kill -15 PID 와 같은 OS TERM 신호를 전송하여 서버를 정상적으로 종료할 수 있습니다. 기본적으로 이 동작은 관리 CLI의 shutdown --suspend-timeout=0 명령과 동일하므로 현재 처리 요청이 즉시 종료됩니다. 제한 시간은 org.wildfly.sigterm.suspend.timeout 시스템 속성에서 구성할 수 있으며, 서버가 종료되기 전에 요청이 완료될 때까지 대기하는 최대 시간(초)을 나타냅니다. 값 -1 은 서버가 무기한 대기함을 나타냅니다.

중요

관리형 도메인에서는 서버를 종료하는 데 OS 신호를 사용해서는 안 됩니다. 대신 관리 CLI 또는 관리 콘솔을 사용하여 호스트 컨트롤러를 사용하여 서버를 종료해야 합니다.

-Xrs java 인수가 JVM 옵션에 전달되는 경우 또는 전송된 신호가 하나가 아닌 경우와 같이 JVM이 신호 처리를 비활성화하도록 구성된 경우 또는 KILL 신호가 전송되는 경우와 같이 프로세스가 응답할 수 있는 경우 OS 신호를 사용하는 정상 종료는 작동하지 않습니다.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat