[java] JMS를 사용하여 메시지를 특정 그룹에 전송하는 방법

Java Message Service (JMS)는 자바 애플리케이션 간에 비동기식 메시지 통신을 할 수 있는 API입니다. JMS를 사용하여 메시지를 특정 그룹에 전송하는 방법을 알아보겠습니다.

1. JMS 그룹 만들기

먼저, JMS 그룹을 만들어야 합니다. JMS 그룹은 메시지를 수신할 구독자들로 구성됩니다. 그룹을 만들기 위해서는 JMS 메시지 브로커에 대한 액세스 권한이 필요합니다.

// JMS 그룹을 만들기 위한 코드
Connection connection = // JMS 연결 객체 생성
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Destination destination = session.createTopic("group_topic"); // 그룹을 위한 토픽 생성

2. 메시지 전송하기

그룹을 만든 후에는 메시지를 그룹에 전송할 수 있습니다. 아래 코드는 JMS 그룹으로 메시지를 보내는 예시입니다.

// 메시지를 그룹에 전송하기 위한 코드
MessageProducer producer = session.createProducer(destination);
TextMessage message = session.createTextMessage("Hello, Group!"); // 전송할 메시지 생성
producer.send(message); // 메시지 전송

3. 메시지 수신하기

메시지를 전송한 후에는 그룹의 구독자들이 메시지를 수신할 수 있습니다. 아래 코드는 JMS 그룹에서 메시지를 수신하는 예시입니다.

// 메시지를 수신하기 위한 코드
MessageConsumer consumer = session.createConsumer(destination);
MessageListener listener = new MessageListener() {
    public void onMessage(Message message) {
        try {
            if (message instanceof TextMessage) {
                TextMessage textMessage = (TextMessage) message;
                String text = textMessage.getText();
                System.out.println("Received: " + text);
            }
        } catch (JMSException e) {
            e.printStackTrace();
        }
    }
};
consumer.setMessageListener(listener); // 메시지 리스너 등록

위 코드에서는 메시지 수신 시 호출되는 onMessage 메소드를 구현하여 메시지를 처리합니다. 이 예제에서는 수신된 텍스트 메시지를 콘솔에 출력하고 있습니다.

결론

JMS를 사용하여 메시지를 특정 그룹에 전송하는 방법을 알아보았습니다. JMS 그룹을 만들고, 메시지를 전송하고, 메시지를 수신하는 방법을 살펴보았습니다. JMS를 사용하면 애플리케이션 간의 비동기식 통신을 효율적으로 구현할 수 있습니다.


참고 자료: