6.4. 관리 작업


AMQ Broker를 관리하기 위해 ScanSetting 또는 JMS 메시지를 사용하든 동일한 API 관리 작업을 사용할 수 있습니다. 관리 API를 사용하면 브로커, 주소 및 대기열을 관리할 수 있습니다.

6.4.1. 브로커 관리 작업

관리 API를 사용하여 브로커를 관리할 수 있습니다.

대기열 나열, 생성, 배포 및 제거

getQueueNames() 메서드를 사용하여 배포된 대기열 목록을 검색할 수 있습니다.

대기열을 만들거나 삭제할 수 있습니다. createQueue(), deployQueue(), or destroyQueue() on the ActiveMQServerControl ( ObjectName org.apache.activemq.artemis:broker="BROKER_NAME" 또는 리소스 이름 서버).

deployQueue 가 아무 작업도 수행하지 않는 동안 큐가 이미 존재하는 경우 createQueue 가 실패합니다.

대기열 일시 정지 및 재시작
QueueControl 은 기본 큐를 일시 중지하고 다시 시작할 수 있습니다. 대기열이 일시 중지되면 메시지가 수신되지만 전달되지 않습니다. 다시 시작되면 대기 중인 메시지 전달이 시작됩니다.
원격 연결 나열 및 닫기

listRemoteAddresses() 를 사용하여 클라이언트의 원격 주소를 검색합니다. closeConnectionsForAddress() 메서드를 사용하여 원격 주소와 연결된 연결을 닫을 수도 있습니다.

또는 listConnectionIDs() 를 사용하여 연결 ID를 나열하고 listSessions() 를 사용하여 지정된 연결 ID에 대한 모든 세션을 나열합니다.

트랜잭션 관리

브로커가 충돌하는 경우 브로커가 재시작되면 일부 트랜잭션에 수동 개입이 필요할 수 있습니다. 다음 방법을 사용하여 발생한 문제를 해결하는 데 도움이 됩니다.

listPreparedTransactions() 메서드 목록을 사용하여 준비 상태에 있는 트랜잭션(Transaction이 불투명 Base64 Strings로 표시)을 나열합니다.

이기종 트랜잭션을 해결하기 위해 commitPreparedTransaction() 또는 rollbackPreparedTransaction() 를 사용하여 지정된 준비된 트랜잭션을 커밋하거나 롤백합니다.

listHeuristicCommittedTransactions()listHeuristicRolledBackTransactions 메서드를 사용하여 가상적으로 완료된 트랜잭션을 나열합니다.

메시지 카운터 활성화 및 재설정

enableMessageCounters() 또는 disableMessageCounters() 메서드를 사용하여 메시지 카운터를 활성화 및 비활성화합니다.

resetAllMessageCounters()resetAllMessageCounterHistories() 메서드를 사용하여 메시지 카운터를 재설정합니다.

브로커 구성 및 속성 검색
ActiveMQServerControl 은 모든 속성(예: 브로커의 버전을 검색하는 getVersion() 메서드)을 통해 브로커의 구성을 노출합니다.
Core Bridge 및 diverts 나열, 생성 및 제거

getBridgeNames()getDivertNames() 메서드를 각각 사용하여 배포된 Core Bridge 및 diverts를 나열합니다.

createBridge()destroyBridge() 또는 createDivert() 및 destroyDivert() 및 destroyDivert() 를 사용하여 브리지 및 diverts를 생성하거나 삭제합니다( ObjectName org.apache.activemq.artemis:broker="BROKER_NAME" 또는 리소스 이름 서버).

브로커를 중지하고 현재 연결된 모든 클라이언트에서 장애 조치를 강제 수행

ActiveMQServerControl 에서 forcefailover() 를 사용합니다( ObjectName org.apache.activemq.artemis:broker="BROKER_NAME" 또는 리소스 이름 서버)

참고

이 방법은 실제로 브로커를 중지하므로 오류가 발생할 수 있습니다. 정확한 오류는 메서드를 호출하는 데 사용한 관리 서비스에 따라 다릅니다.

6.4.2. 주소 관리 작업

관리 API를 사용하여 주소를 관리할 수 있습니다.

ObjectName org.apache.activemq.artemis:broker=" <broker-name> ", component=addresses,address=" <address-name> " 또는 리소스 이름 주소 . <address-name >과 함께 AddressControl 클래스를 사용하여주소를 관리합니다.

addRole() 또는 removeRole() 메서드를 사용하여 주소에 대한 역할 및 권한을 수정합니다. getRoles() 메서드를 사용하여 큐와 연결된 모든 역할을 나열할 수 있습니다.

6.4.3. 대기열 관리 작업

관리 API를 사용하여 대기열을 관리할 수 있습니다.

코어 관리 API는 큐를 처리합니다. QueueControl 클래스는 큐 관리 작업( ObjectName,org.apache.activemq.artemis:broker=" <broker-name> ",component=addresses,address=",subcomponent=address>, routing-type> ",queue=" <queue-name> " 또는 리소스 이름 큐를 사용하여)를 정의합니다.

대기열의 대부분의 관리 작업에서는 단일 메시지 ID(예: 단일 메시지를 제거하기 위해) 또는 필터(예: 지정된 속성을 사용하여 모든 메시지를 만료)를 사용합니다.

만료, 배달 못 한 편지 주소로 전송 및 이동 메시지

expireMessages() 메서드를 사용하여 큐에서 메시지를 만료합니다. 만료 주소가 정의되면 메시지가 이 주소로 전송되고, 그렇지 않으면 해당 주소가 삭제됩니다. broker.xml 구성 파일의 address-settings 요소에서 주소 또는 주소 집합 (및 해당 주소에 바인딩된 대기열)의 만료 주소를 정의할 수 있습니다. 예를 들어 기본 브로커 구성 이해의 "기본 메시지 주소 설정" 섹션을 참조하십시오.

sendMessagesToDeadLetterAddress() 메서드를 사용하여 dead letter 주소로 메시지를 보냅니다. 이 메서드는 dead letter 주소로 전송된 메시지의 수를 반환합니다. 배달 못 한 문자 주소가 정의되면 메시지가 이 주소로 전송되고, 그렇지 않으면 큐에서 제거되고 삭제됩니다. broker.xml 구성 파일의 address-settings 요소에서 주소 또는 주소 집합 (및 해당 주소에 바인딩된 대기열)에 대한 dead letter 주소를 정의할 수 있습니다. 예를 들어 기본 브로커 구성 이해의 "기본 메시지 주소 설정" 섹션을 참조하십시오.

moveMessages() 메서드를 사용하여 한 대기열에서 다른 큐로 메시지를 이동합니다.

메시지 나열 및 제거

listMessages() 메서드를 사용하여 대기열의 메시지를 나열합니다. 각 메시지에 대해 배열을 하나씩 반환합니다.

단일 메시지 ID 변형에 대한 부울 또는 필터 변형에 대해 제거된 메시지 수를 반환하는 removeMessages() 메서드를 사용하여 큐에서 메시지를 제거합니다. 이 방법은 필터 인수를 사용하여 필터링된 메시지만 제거합니다. 필터를 빈 문자열로 설정하면 모든 메시지가 제거됩니다.

메시지 수
getMessageCount() 메서드에서 큐의 메시지 수를 반환합니다. 또는 countMessages() 는 지정된 필터와 일치하는 대기열의 메시지 수를 반환합니다.
메시지 우선 순위 변경
단일 메시지 ID 변형에 대한 부울 또는 필터 변형에 대한 업데이트된 메시지 수를 반환하는 changeMessagesPriority() 메서드를 사용하여 메시지 우선 순위를 변경할 수 있습니다.
메시지 카운터
listMessageCounter()listMessageCounterHistory() 메서드를 사용하여 큐에 대한 메시지 카운터를 나열할 수 있습니다( 6.6절. “메시지 카운터 사용”참조). 메시지 카운터는 resetMessageCounter() 메서드를 사용하여 단일 큐에 대해 재설정할 수도 있습니다.
큐 속성 검색
QueueControl 은 해당 속성을 통해 대기열 설정을 노출합니다(예: getFilter() 를 사용하여 큐가 생성된 경우 큐의 필터를 검색하는 경우 isDurable() to know whether the queue is corrupted, and so on).
대기열 일시 정지 및 재시작
QueueControl 은 기본 큐를 일시 중지하고 다시 시작할 수 있습니다. 대기열이 일시 중지되면 메시지가 수신되지만 전달되지 않습니다. 다시 시작되면 대기 중인 메시지 전달이 시작됩니다.

6.4.4. 원격 리소스 관리 작업

관리 API를 사용하여 브로커의 원격 리소스(수용자, 회전자, 브리지 등)를 시작하고 중지하여 브로커를 완전히 중지하지 않고 일정 기간 동안 오프라인으로 전환할 수 있습니다.

수락자
start() 또는 를 사용하여 어셉터를 시작하거나 중지합니다. AcceptorControl 클래스의 stop() 메서드 ( ObjectName org.apache.activemq.artemis:broker=" <broker-name> ",component=acceptors,name=" <acceptor-name> " 또는 리소스 이름 acceptor. <address-name> ). acceptor 매개변수는 AcceptorControl 특성을 사용하여 검색할 수 있습니다. 수락자에 대한 자세한 내용은 네트워크 연결: 수락자 및 커넥터 를 참조하십시오.
diverts
divert Control 클래스에서 start() 또는 stop() 메서드를 사용하거나 ( ObjectName org.apache.activemq.artemis:broker=" <broker-name> ",component=diverts,name=" <divert-name> " 또는 리소스 이름이 divert. <divert-name> ). divert 매개 변수는 divert Control 특성을 사용하여 검색할 수 있습니다.
브리지
start() (resp)를 사용하여 브리지를 시작하거나 중지합니다. BridgeControl 클래스에서 stop()메서드 ( ObjectName org.apache.activemq.artemis:broker=" <broker-name> ",component=bridge,name=" <bridge-name> " 또는 리소스 이름 bridge. <bridge-name> ). Bridge 매개변수는 BridgeControl 특성을 사용하여 검색할 수 있습니다.
브로드캐스트 그룹
BroadcastGroupControl 클래스에서 start() 또는 stop() 메서드를 사용하여 브로드캐스트 그룹을 시작하거나 중지합니다. ( ObjectName org.apache.activemq.artemis:broker=" <broker-name> ",component=broadcast-group> " 또는 리소스이름 broadcastgroup . <broadcast-group-name> ). broadcast group 매개변수는 BroadcastGroupControl 특성을 사용하여 검색할 수 있습니다. 자세한 내용은 Broker 검색 방법을 참조하십시오.
검색 그룹
DiscoveryGroupControl 클래스에서 start() 또는 stop() 메서드를 사용하여 검색 그룹을 시작하거나 중지합니다. ( ObjectName org.apache.activemq.artemis:broker=" <broker-name> ",component=discovery-group,name=" <discovery-group-name> " 또는 리소스 이름 검색. <discovery-group-name> ). Discovery groups 매개변수는 DiscoveryGroupControl 특성을 사용하여 검색할 수 있습니다. 자세한 내용은 Broker 검색 방법을 참조하십시오.
클러스터 연결
ClusterConnectionControl 클래스에서 start() 또는 stop() 메서드를 사용하여 클러스터 연결을 시작하거나 중지합니다. ( ObjectName org.apache.activemq.artemis:broker=" <broker-name> ",component=cluster-connection,name=" <cluster-connection-name> " 또는 리소스 이름 clusterconnection. <cluster-connection-name> ). ClusterConnectionControl 특성을 사용하여 클러스터 연결 매개변수를 검색할 수 있습니다. 자세한 내용은 브로커 클러스터 생성을 참조하십시오.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.