[java] Java에서 ActiveMQ 사용하기
ActiveMQ는 Apache Software Foundation에서 개발한 오픈 소스 메시지 브로커입니다. Java를 이용하여 ActiveMQ를 사용하는 방법에 대해 알아보겠습니다.
1. ActiveMQ 다운로드 및 설치
먼저, ActiveMQ를 다운로드하고 설치해야합니다. ActiveMQ의 최신 버전은 Apache의 공식 웹사이트에서 다운로드할 수 있습니다.
2. Maven Dependency 추가
ActiveMQ를 프로젝트에 사용하기 위해 Maven 의존성을 추가해야합니다. 프로젝트의 pom.xml 파일에 다음 종속성을 추가합니다:
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-all</artifactId>
<version>5.16.3</version>
</dependency>
3. ActiveMQ 연결 설정
ActiveMQ에 연결하기 위해 ActiveMQConnectionFactory
클래스를 사용해야 합니다. 다음은 연결 설정 예시입니다:
String brokerUrl = "tcp://localhost:61616";
ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(brokerUrl);
위의 코드에서 brokerUrl
은 ActiveMQ 서버의 URL을 나타냅니다.
4. Producer와 Consumer 생성
Producer는 메시지를 생성하고 ActiveMQ로 보내는 역할을 합니다. 다음은 Producer의 예시입니다:
try (ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(brokerUrl);
Connection connection = connectionFactory.createConnection();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
MessageProducer producer = session.createProducer(session.createQueue("myQueue"))) {
TextMessage message = session.createTextMessage("Hello, ActiveMQ!");
producer.send(message);
System.out.println("Message sent: " + message.getText());
} catch (JMSException e) {
e.printStackTrace();
}
Consumer는 ActiveMQ로부터 메시지를 수신하고 처리하는 역할을 합니다. 다음은 Consumer의 예시입니다:
try (ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(brokerUrl);
Connection connection = connectionFactory.createConnection();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
MessageConsumer consumer = session.createConsumer(session.createQueue("myQueue"))) {
connection.start();
Message message = consumer.receive();
if (message instanceof TextMessage) {
TextMessage textMessage = (TextMessage) message;
System.out.println("Received message: " + textMessage.getText());
}
} catch (JMSException e) {
e.printStackTrace();
}
결론
Java에서 ActiveMQ를 사용하는 방법에 대해 알아보았습니다. ActiveMQ를 사용하면 메시지를 안정적이고 효율적으로 처리할 수 있습니다. 애플리케이션이나 시스템 사이의 통신과 메시지 큐를 관리하기 위해 ActiveMQ를 사용하는 것은 좋은 선택일 수 있습니다.
더 자세한 정보는 ActiveMQ의 공식 문서를 참조하세요.