3.4. 브로커 인스턴스 중지
브로커 인스턴스를 수동으로 중지하거나 브로커를 정상적으로 종료하도록 구성합니다.
3.4.1. 브로커 인스턴스 중지
독립 실행형 브로커를 생성하고 테스트 메시지를 생성한 후 브로커 인스턴스를 중지할 수 있습니다.
이 절차에서는 브로커를 수동으로 중지하여 모든 클라이언트 연결을 강제로 종료합니다. 프로덕션 환경에서는 클라이언트 연결을 올바르게 닫을 수 있도록 브로커를 정상적으로 중지하도록 구성해야 합니다.
프로세스
broker 인스턴스를 중지하려면
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.4.2. 브로커 인스턴스를 정상적으로 중지
수동 종료는 stop
명령을 입력한 후 모든 클라이언트의 연결을 강제 해제합니다. 또는 graceful-shutdown-enabled
구성 요소를 사용하여 브로커를 정상적으로 종료하도록 구성합니다.
graceful-shutdown-enabled
가 true
로 설정되면 stop
명령을 입력한 후에는 새 클라이언트 연결이 허용되지 않습니다. 그러나 종료 프로세스가 시작되기 전에 기존 연결이 클라이언트 측에서 닫을 수 있습니다. 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
구성 요소를 추가하고 시간 초과 값을 밀리초 단위로 설정합니다. 다음 예제에서는stop
명령이 실행된 후 클라이언트 연결이 강제 종료 30초(30000
밀리초)입니다.<configuration> <core> ... <graceful-shutdown-enabled> true </graceful-shutdown-enabled> <graceful-shutdown-timeout> 30000 </graceful-shutdown-timeout> ... </core> </configuration>