2015-01-07 2 views
1

У меня ниже двух jms-очередей, настроенных в JBOSS 7.1.Чтение сообщений из DLQ в Jboss 7

<jms-queue name="APP.QUEUE1"> 
    <entry name="queue/APP.QUEUE1"/> 
    <entry name="java:jboss/exported/jms/queue/APP.QUEUE1"/> 
</jms-queue> 

<jms-queue name="APP.QUEUE2"> 
    <entry name="queue/APP.QUEUE2"/> 
    <entry name="java:jboss/exported/jms/queue/APP.QUEUE2"/> 
</jms-queue> 

, потребляя сообщение, если какая-то вещь пойдет не так, то сообщение будет идти на Мертвую очередь буквы, настроенная следующим образом.

<address-setting match="jms.queue.APP#"> 
     <dead-letter-address>jms.queue.DLQ</dead-letter-address> 
     <expiry-address>jms.queue.ExpiryQueue</expiry-address> 
     <redelivery-delay>0</redelivery-delay> 
     <max-delivery-attempts>5</max-delivery-attempts> 
     <max-size-bytes>10485760</max-size-bytes> 
     <address-full-policy>BLOCK</address-full-policy> 
     <message-counter-history-day-limit>10</message-counter-history-day-limit> 
</address-setting> 

поэтому я успешно доставил сообщение DLQ.

Теперь я написал потребителя для очереди Мертвых букв, чтобы я мог передать сообщение после исправления проблемы.

фрагмент кода, который необходимо использовать, заключается в следующем.

QueueSession session = connection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE); 
QueueBrowser browser = session.createBrowser(queue); 
Queue queue1=browser.getQueue(); 
Enumeration messageEnum = browser.getEnumeration(); 
    while (messageEnum.hasMoreElements()) { 
     TextMessage message = (TextMessage) messageEnum.nextElement(); 
     } 

из текстового сообщения, есть ли шанс получить очередь источника (APP.QUEUE1 или APP.QUEUE2), так что я передать туда же текстовое сообщение с вне беспокоясь много о свойствах сообщения.

, пожалуйста, дайте мне знать, мой подход правильный или нет, appricite для лучшего решения.

+0

Нашел ответ для этого. мы имеем свойство следующим образом: message.getStringProperty ("_ HQ_ORIG_ADDRESS"); это свойство дает исходный адрес. – Ananth

ответ

0

Нашел ответ на этот вопрос. у нас есть свойство следующим образом. message.getStringProperty ("_ HQ_ORIG_ADDRESS"); Это свойство дает исходный адрес.

Смежные вопросы