Apache ActiveMQ는 대표적인 오픈 소스 메시징 시스템 중 하나로, 메시지 기반의 통신을 지원합니다. 이 글에서는 Apache ActiveMQ와 브로커 클라이언트를 어떻게 연결하는지 알아보겠습니다.
1. Apache ActiveMQ 설치 및 실행
먼저 Apache ActiveMQ를 설치해야 합니다. 아래 링크에서 해당 운영체제에 맞는 패키지를 다운로드 받아 설치합니다.
설치가 완료되었다면 터미널 또는 명령 프롬프트를 열고 ActiveMQ를 실행합니다.
$ cd <activemq_installation_directory>/bin
$ ./activemq start
2. 브로커 클라이언트 설정
브로커 클라이언트는 ActiveMQ에 연결하여 메시지를 주고받을 수 있는 클라이언트 예제입니다. 자바에서는 javax.jms
패키지를 사용하여 ActiveMQ에 접속할 수 있습니다.
아래는 브로커 클라이언트의 예제 코드입니다.
import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.Message;
import javax.jms.MessageConsumer;
import javax.jms.MessageProducer;
import javax.jms.Queue;
import javax.jms.Session;
import org.apache.activemq.ActiveMQConnectionFactory;
public class BrokerClient {
public static void main(String[] args) throws Exception {
// ActiveMQ 브로커에 연결하는 ConnectionFactory 생성
ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616");
// Connection 생성
Connection connection = connectionFactory.createConnection();
connection.start();
// Session 생성
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
// Destination(Queue) 생성
Queue queue = session.createQueue("my_queue");
// MessageProducer 생성
MessageProducer producer = session.createProducer(queue);
// Message 생성
Message message = session.createTextMessage("Hello, ActiveMQ!");
// Message 전송
producer.send(message);
System.out.println("Message sent successfully!");
// MessageConsumer 생성
MessageConsumer consumer = session.createConsumer(queue);
// Message 수신
Message receivedMessage = consumer.receive();
System.out.println("Received message: " + ((TextMessage) receivedMessage).getText());
// 연결 종료
session.close();
connection.close();
}
}
위 예제 코드에서는 tcp://localhost:61616
을 통해 로컬 호스트에 실행 중인 ActiveMQ 브로커에 연결합니다. my_queue
라는 Queue에 메시지를 보내고 받는 예제입니다.
3. 실행 및 확인
위 예제 코드를 컴파일하고 실행하면 ActiveMQ 브로커에 연결되고 메시지를 주고 받을 수 있습니다. 메시지를 성공적으로 주고 받는지 확인하기 위해 ActiveMQ 관리 콘솔에 접속하여 큐에 남은 메시지를 확인할 수 있습니다.
웹 브라우저에서 http://localhost:8161/admin
주소로 접속하면 ActiveMQ 관리 콘솔에 접속할 수 있습니다. 기본 계정은 admin/admin
이며, 로그인 후 메시지 브라우저를 통해 my_queue
에 남은 메시지를 확인할 수 있습니다.
요약
지금까지 Apache ActiveMQ와 브로커 클라이언트의 연결 방법을 알아보았습니다. ActiveMQ를 설치하고 브로커 클라이언트를 사용하여 메시지를 주고 받을 수 있습니다. 이를 통해 분산 시스템이나 비동기 통신을 구현할 수 있는 강력한 도구인 ActiveMQ를 활용해 볼 수 있습니다.
참고 자료: