Dead Letter Queue: handle exception stacktrace
manuel_uberti Sep 2, 2016 4:56 AMHello,
first of all thanks for WildFly. We've been using 10.0.0.Final in our company and everything is going smoothly.
Recently I've been working on the Dead Letter Queue. I set up a custom configuration for all the JMS queues in our project:
<address-setting name="#" message-counter-history-day-limit="10" page-size-bytes="2097152" max-size-bytes="10485760" max-delivery-attempts="3" redelivery-delay="30000" expiry-address="jms.queue.ExpiryQueue" dead-letter-address="jms.queue.DLQ"/> <address-setting name="jms.queue.rulesQueue" message-counter-history-day-limit="30" page-size-bytes="2097152" max-size-bytes="10485760" redelivery-delay="30000" expiry-address="jms.queue.ExpiryQueue" dead-letter-address="jms.queue.DLQ"/> <address-setting name="jms.queue.transactionQueue" message-counter-history-day-limit="30" page-size-bytes="2097152" max-size-bytes="10485760" redelivery-delay="30000" expiry-address="jms.queue.ExpiryQueue" dead-letter-address="jms.queue.DLQ"/> <address-setting name="jms.queue.pushMessageQueue" message-counter-history-day-limit="30" page-size-bytes="2097152" max-size-bytes="10485760" redelivery-delay="30000" expiry-address="jms.queue.ExpiryQueue" dead-letter-address="jms.queue.DLQ"/> <address-setting name="jms.queue.smsQueue" message-counter-history-day-limit="30" page-size-bytes="2097152" max-size-bytes="10485760" redelivery-delay="30000" expiry-address="jms.queue.ExpiryQueue" dead-letter-address="jms.queue.DLQ"/> <address-setting name="jms.queue.emailQueue" message-counter-history-day-limit="30" page-size-bytes="2097152" max-size-bytes="10485760" redelivery-delay="30000" expiry-address="jms.queue.ExpiryQueue" dead-letter-address="jms.queue.DLQ"/>
I also provided an MDB listener to catch the messages on the DLQ and deliver an email message with some information about the message and the queue that went wrong. Is there a way to obtain the exception stacktrace of a failed JMS queue processing?
Suppose one of our queues (i.e.: jms.queue.rulesQueue) fails. I can see the stacktrace on the server log file, but would it be possible to handle that stacktrace in the message delivered to the DLQ?
Thank you.