다음 코드가 있습니다. 대기열에 액세스하려고하는데 자원을 소비하려고합니다. 얼마나 많은 요소가 대기열에 있고 얼마나 많은 것이 남아 있는지 잘 모릅니다. 따라서 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();
유료 서비스입니까? – KarlP