Middle
64
Pastāstiet par savu pieredzi ar JMS un ActiveMQ. Kā izskatās kods, lai lasītu ziņojumus no rindas?
Uzņēmumi, kur jautāja
Финансовые платформы
Atbilde no 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" и выводит текст полученного сообщения.