2.4. JBoss EAP 일시 중단 및 종료
JBoss EAP는 정상적으로 일시 중지되거나 종료될 수 있습니다. 이렇게 하면 새 요청을 수락하지 않고도 활성 요청이 정상적으로 완료될 수 있습니다. 시간 초과 값은 활성 요청이 완료될 때까지 일시 중지 또는 종료 작업이 대기하는 시간을 지정합니다. 서버가 일시 중지되는 동안 관리 요청이 계속 처리됩니다.
정상 종료는 서버 전체 수준에서 조정되며, 대부분 요청이 서버에 들어오는 진입점에 중점을 둡니다. 다음 하위 시스템은 정상 종료를 지원합니다.
- Cryostat
-
undertow
하위 시스템은 모든 요청이 완료될 때까지 기다립니다. - mod_cluster
-
modcluster
하위 시스템은 로드 밸런서에 서버가PRE_SUSPEND
단계에서 일시 중단됨을 알립니다. - EJB
-
Cryo
stat3
하위 시스템은 모든 원격 Clevis 요청 및 Cryostat 메시지 전달이 완료될 때까지 기다립니다.PRE_SUSPEND
단계에서 Cryostat에 대한 전달이 중지됩니다. Clevis 타이머는 일시 중지되며 서버가 다시 시작될 때 누락된 타이머가 활성화됩니다. - EE Concurrency
서버는 모든 활성 작업이 완료될 때까지 기다립니다. 대기 중인 모든 작업은 건너뜁니다. 현재 EE Concurrency에는 지속성이 없으므로 건너뛰는 대기 중인 작업이 손실됩니다.
서버가 일시 중단된 상태이지만 예약된 작업은 예약된 시간에 계속 실행되지만
java.lang.IllegalStateException
이 발생합니다. 서버가 다시 시작되면 예약된 작업이 정상적으로 계속 실행되고 대부분의 경우 작업을 다시 예약할 필요가 없습니다.- batch
- 서버는 제한 시간 내에 실행 중인 모든 작업을 중지하고 예약된 모든 작업을 지연합니다.
현재 정상 종료는 인바운드 원격 분산 트랜잭션 또는 새 인바운드 JMS 메시지를 거부하지 않습니다. 현재 진행 중인 활동으로 예약된 EE 배치 작업 및 EE 동시성 작업을 진행할 수 있습니다. 그러나 실행 시 현재 오류 시간 초과 창을 전달하는 EE 동시성 작업이 제출되었습니다.
요청은 request-controller
하위 시스템에서 추적합니다. 이 하위 시스템이 없으면 일시 중지 및 재개 기능이 제한되며 서버는 요청을 일시 중지하거나 종료하기 전에 요청이 완료될 때까지 기다리지 않습니다. 그러나 이 기능이 필요하지 않은 경우 성능 향상을 위해 request-controller
하위 시스템을 제거할 수 있습니다.
2.4.1. 서버 일시 중단
JBoss EAP 7에는 서버 작업을 정상적으로 일시 중단하는 일시 중단 모드가 도입되었습니다. 이렇게 하면 모든 활성 요청이 정상적으로 완료되지만 새 요청을 수락하지 않습니다. 서버가 일시 중지되면 종료되거나 실행 중인 상태로 반환되거나 유지보수를 수행하기 위해 일시 중지된 상태로 되돌릴 수 있습니다.
관리 인터페이스는 서버를 일시 중지하여 영향을 받지 않습니다.
관리 콘솔 또는 관리 CLI를 사용하여 서버를 일시 중지하고 다시 시작할 수 있습니다.
Server Suspend State를 확인합니다.
서버 일시 중단 상태는 다음 관리 CLI 명령을 사용하여 볼 수 있습니다. 결과 값은 RUNNING
,PRE_SUSPEND
,SUSPENDING
또는 SUSPENDED
중 하나입니다.
독립 실행형 서버의 일시 중단 상태를 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow :read-attribute(name=suspend-state)
:read-attribute(name=suspend-state)
관리형 도메인에서 서버의 일시 중단 상태를 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow /host=master/server=server-one:read-attribute(name=suspend-state)
/host=master/server=server-one:read-attribute(name=suspend-state)
일시 중단
다음 관리 CLI 명령을 사용하여 활성 요청이 완료될 때까지 대기하는 시간 제한 값(초)을 지정하여 서버를 일시 중지합니다. 기본값은 0
이며 즉시 일시 중지됩니다. 값이 -1
이면 모든 활성 요청이 완료될 때까지 서버가 무기한 대기합니다.
각 예제에서는 일시 중지하기 전에 요청이 완료될 때까지 최대 60초 동안 기다립니다.
독립 실행형 서버를 일시 중지합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow :suspend(timeout=60)
:suspend(timeout=60)
관리형 도메인의 모든 서버를 일시 중지합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow :suspend-servers(timeout=60)
:suspend-servers(timeout=60)
관리형 도메인에서 단일 서버를 일시 중지합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow /host=master/server-config=server-one:suspend(timeout=60)
/host=master/server-config=server-one:suspend(timeout=60)
서버 그룹의 모든 서버를 일시 중지합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow /server-group=main-server-group:suspend-servers(timeout=60)
/server-group=main-server-group:suspend-servers(timeout=60)
resume
서버를 다시 일반 실행 상태로 반환하여 적절한 수준(서버, 서버 그룹, 전체 도메인)에서 resume
명령을 사용하여 새 요청을 수락할 수 있습니다. 예를 들면 다음과 같습니다.
:resume
:resume
2.4.2. 서버 종료 중
서버를 중지할 때 적절한 시간 초과 값이 지정된 경우 서버가 정상적으로 종료됩니다. 명령이 실행되면 서버가 일시 중지되고 종료되기 전에 모든 요청이 완료될 때까지 지정된 시간 초과까지 기다립니다.
다음 관리 CLI 명령을 사용하여 서버를 정상적으로 종료합니다. 서버가 활성 요청이 완료될 때까지 대기할 시간 초과 값(초)을 지정합니다. 기본값은 0
이며, 이 값은 서버를 즉시 종료합니다. 값 -1
을 사용하면 서버가 종료되기 전에 모든 활성 요청이 완료될 때까지 무기한 대기합니다.
각 예제에서는 요청을 종료하기 전에 최대 60초 동안 기다립니다.
독립 실행형 서버를 정상적으로 종료합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow :shutdown(timeout=60)
:shutdown(timeout=60)
관리형 도메인의 모든 서버를 정상적으로 중지합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow :stop-servers(timeout=60)
:stop-servers(timeout=60)
관리형 도메인에서 정상적으로 단일 서버를 중지합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow /host=master/server-config=server-one:stop(timeout=60)
/host=master/server-config=server-one:stop(timeout=60)
서버 그룹의 모든 서버를 정상적으로 중지합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow /server-group=main-server-group:stop-servers(timeout=60)
/server-group=main-server-group:stop-servers(timeout=60)