3.2. 브로커 인스턴스 중지
브로커 인스턴스를 수동으로 중지하거나 정상적으로 종료하도록 브로커를 구성합니다.
3.2.1. 브로커 인스턴스 중지
독립 실행형 브로커를 생성하고 테스트 메시지를 생성 및 사용한 후 브로커 인스턴스를 중지할 수 있습니다.
이 절차에서는 브로커를 수동으로 중지하므로 모든 클라이언트 연결을 강제로 종료합니다. 프로덕션 환경에서는 클라이언트 연결을 올바르게 닫을 수 있도록 브로커를 정상적으로 중지하도록 구성해야 합니다.
절차
artemis stop
명령을 사용하여 브로커 인스턴스를 중지합니다.$ /var/opt/amq-broker/mybroker/bin/artemis stop 2018-12-03 14:37:30,630 INFO [org.apache.activemq.artemis.core.server] AMQ221002: Apache ActiveMQ Artemis Message Broker version 2.6.1.amq-720004-redhat-1 [b6c244ef-f1cb-11e8-a2d7-0800271b03bd] stopped, uptime 35 minutes Server stopped!
3.2.2. 브로커 인스턴스를 정상적으로 중지
수동 종료는 stop
명령을 입력한 후 모든 클라이언트의 연결을 강제로 끊습니다. 대안으로 graceful-shutdown-enabled
구성 요소를 사용하여 정상적으로 종료하도록 브로커를 구성합니다.
graceful-shutdown-enabled
를 true
로 설정하면 중지
명령을 입력한 후에는 새 클라이언트 연결이 허용되지 않습니다. 그러나 기존 연결은 종료 프로세스를 시작하기 전에 클라이언트 측에서 닫을 수 있습니다. graceful-shutdown-enabled
의 기본값은 false
입니다.
연결이 브로커 측에서 강제로 닫히기 전에 클라이언트가 연결을 끊는 데 시간(밀리초)을 설정하려면 graceful-shutdown-timeout
구성 요소를 사용합니다. 모든 연결이 닫히면 종료 프로세스가 시작됩니다. graceful-shutdown-timeout
을 사용하는 한 가지 장점은 클라이언트 연결이 종료를 지연시키지 않는다는 것입니다. graceful-shutdown-timeout
의 기본값은 -1
입니다. 즉, 브로커가 클라이언트가 연결을 끊을 때까지 무기한 대기합니다.
다음 절차에서는 시간 초과를 사용하는 정상 종료를 구성하는 방법을 보여줍니다.
절차
-
설정 파일 <
broker_instance_dir> \etc\broker.xml
을 엽니다. graceful-shutdown-enabled
구성 요소를 추가하고 값을true
로 설정합니다.<configuration> <core> ... <graceful-shutdown-enabled> true </graceful-shutdown-enabled> ... </core> </configuration>
graceful-shutdown-timeout
구성 요소를 추가하고 시간 초과 값을 밀리초 단위로 설정합니다. 다음 예에서중지
명령을 실행한 후 클라이언트 연결은 강제로 30초(30000
밀리초)를 종료합니다.<configuration> <core> ... <graceful-shutdown-enabled> true </graceful-shutdown-enabled> <graceful-shutdown-timeout> 30000 </graceful-shutdown-timeout> ... </core> </configuration>