6.3. JMS API를 사용하여 AMQ Broker 관리
JMS(Java Message Service) API를 사용하면 메시지를 생성, 전송, 수신 및 읽을 수 있습니다. JMS 및 AMQ JMS 클라이언트를 사용하여 브로커를 관리할 수 있습니다.
6.3.1. JMS 메시지 및 AMQ JMS Client를 사용하여 브로커 관리 구성
JMS를 사용하여 브로커를 관리하려면 먼저 manage
권한을 사용하여 브로커 관리 주소를 구성해야 합니다.
절차
-
<
;broker_instance_dir> /etc/broker.xml
구성 파일을 엽니다. <
;management-address&
gt; 요소를 추가하고 관리 주소를 지정합니다.기본적으로 관리 주소는
activemq.management
입니다. 기본값을 사용하지 않는 경우에만 다른 주소를 지정해야 합니다.<management-address>my.management.address</management-address>
manage
사용자 권한 유형을 사용하여 관리 주소를 제공합니다.이 권한 유형을 사용하면 관리 주소가 관리 메시지를 수신하고 처리할 수 있습니다.
<security-setting-match="activemq.management"> <permission-type="manage" roles="admin"/> </security-setting>
6.3.2. JMS API 및 AMQ JMS 클라이언트를 사용하여 브로커 관리
JMS 메시지를 사용하여 관리 작업을 호출하려면 AMQ JMS 클라이언트가 특수 관리 대기열을 인스턴스화해야 합니다.
절차
-
QueueRequestor
를 생성하여 관리 주소로 메시지를 보내고 응답을 수신합니다. -
메시지
생성 . -
org.apache.activemq.artemis.api.jms.management.JMSManagementECDHEer
클래스를 사용하여 메시지를 관리 속성으로 채웁니다. -
QueueRequestor
를 사용하여 메시지를 보냅니다. -
org.apache.activemq.artemis.api.jms.management.JMSManagementECDHEer
클래스를 사용하여 관리 응답에서 작업 결과를 검색합니다.
예 6.2. 큐의 메시지 수 보기
이 예제에서는 JMS API를 사용하여 JMS 대기열 exampleQueue
에서 메시지 수를 확인하는 방법을 보여줍니다.
Queue managementQueue = ActiveMQJMSClient.createQueue("activemq.management"); QueueSession session = ... QueueRequestor requestor = new QueueRequestor(session, managementQueue); connection.start(); Message message = session.createMessage(); JMSManagementHelper.putAttribute(message, "queue.exampleQueue", "messageCount"); Message reply = requestor.request(message); int count = (Integer)JMSManagementHelper.getResult(reply); System.out.println("There are " + count + " messages in exampleQueue");