2012-07-25 59 views
2

我使用的是Jboss AS 7.1.1,我需要查看DLQ(死信隊列)中的消息。如何在Jboss AS 7上查看來自DLQ的消息?

我想爲它編寫一個簡單的MDB:

@MessageDriven(messageListenerInterface = MessageListener.class, activationConfig = { 
     @ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue"), 
     @ActivationConfigProperty(propertyName = "destination", propertyValue = "java:/queue/DLQ"), 
     @ActivationConfigProperty(propertyName = "maxSession", propertyValue = "1") }) 
public class DLQMDB implements MessageListener{ 
public void onMessage(Message message) { 
    try { 
     process(message); 
    } ... 
} 
} 

我寫了另一個MDB拋出錯誤,這些郵件會做的DLQ,但DLQ MDB永遠不會觸發。

我不知道是否因爲DLQ中沒有消息或MDB沒有正確定義。

我在做什麼錯了?是否有另一種方式在DLQ中查看消息(如日誌記錄,管理界面)?

回答

1

終於得到它的工作,我有一個配置問題:一旦我刪除

<address-setting match="jms.queue.MetricEvents"> 
     <dead-letter-address>jms.queue.MyQueue</dead-letter-address> 
     <expiry-address>jms.queue.ExpiryQueue</expiry-address> 
     <redelivery-delay>0</redelivery-delay> 
     <max-delivery-attempts>0</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> 

<max-delivery-attempts>0</max-delivery-attempts> 

一切工作。