У меня есть следующий код. Я пытаюсь получить доступ к очереди и использовать ресурсы, ну, я не знаю, сколько элементов в очереди и сколько осталось, поэтому я делаю while(true)
, но в этом случае я не могу закрыть соединение, которое вызывает ошибки, позже , как процесс не умирает. хотя я остановил это.
Как я могу найти, если в очереди больше элементов, а затем сделать следующее? Я посмотрел на ActiveMqQueueBrowser, но это внутреннее, так что я не могу использовать его легко.
Что бы вы сделали? Что вы рекомендуете?
ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(url);
Connection connection = connectionFactory.createConnection();
connection.start();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Destination destination = session.createQueue(subject);
MessageConsumer consumer = session.createConsumer(destination);
while(true){
Message message = consumer.receive();
if (message instanceof TextMessage) {
TextMessage textMessage = (TextMessage) message;
System.out.println("message from queue : '" + textMessage.getText() + "'");
}
}
// unreachable code. compiler complains.
// connection.close();