Sobes.tech
Middle
57

JMS жана ActiveMQ менен иштөө тажрыйбаңыз жөнүндө айтып бериңиз. Кутудан билдирүүлөрдү окуу үчүн код кандай көрүнөт?

Кайсыл жерде компаниялар сурады
Финансовые платформы

AIден жооп

sobes.tech AI

JMS (Java Message Service) — это стандартный API для работы с сообщениями в Java, а ActiveMQ — популярный брокер сообщений, реализующий JMS.

Для чтения сообщений из очереди с помощью JMS и ActiveMQ обычно создаётся соединение, сессия, получатель сообщений (consumer), и затем происходит получение сообщений.

Пример кода для чтения сообщений из очереди:

import javax.jms.*;
import org.apache.activemq.ActiveMQConnectionFactory;

public class JMSConsumer {
    public static void main(String[] args) throws JMSException {
        // Создаём фабрику соединений
        ConnectionFactory factory = new ActiveMQConnectionFactory("tcp://localhost:61616");

        // Создаём соединение
        Connection connection = factory.createConnection();
        connection.start();

        // Создаём сессию без транзакций и с автоматическим подтверждением
        Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);

        // Создаём очередь
        Destination queue = session.createQueue("exampleQueue");

        // Создаём получателя сообщений
        MessageConsumer consumer = session.createConsumer(queue);

        // Получаем сообщение (ожидаем до 1 секунды)
        Message message = consumer.receive(1000);

        if (message instanceof TextMessage) {
            TextMessage textMessage = (TextMessage) message;
            System.out.println("Получено сообщение: " + textMessage.getText());
        } else {
            System.out.println("Получено не текстовое сообщение");
        }

        // Закрываем ресурсы
        consumer.close();
        session.close();
        connection.close();
    }
}

Этот код подключается к ActiveMQ, слушает очередь "exampleQueue" и выводит текст полученного сообщения.