activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marco Zapletal <marco.zaple...@gmail.com>
Subject Strategy for browsing a DLQ containing a high number of (large) messages
Date Tue, 04 Dec 2012 14:10:10 GMT
Hi folks,


I am thinking about an appropriate strategy for browsing the DLQ from a 
Web application, whereby it is assumed that the DLQ potentially contains 
a high number of (large) messages. Browsing should support pagination 
(similar to databases) as well as loading only the headers during 
browsing. Loading the full body should only take place when a single 
message is inspected. I can think of the following three alternatives 
and would be happy to hear your thoughts:

1) Browsing the DLQ directly via the (JMX) QueueBrowser. Pagination and 
loading only the headers is not supported. However, using the file-based 
cursor as suggested here 
(http://activemq.2283324.n4.nabble.com/template/NamlServlet.jtp?macro=search_page&node=2341804&query=maza&n=2341804)

may circumvent a resource shortage problem for a certain number of messages.

2) Using the JDBC persistence. Advantages: This would allow to browse 
the underlying database directly. Disadvantage: JDBC must be used.

3) Moving all messages from the DLQ to a database using a short, custom 
Camel route. In this case, the DLQ is used as a kind of sink. The Camel 
route would be responsible for moving all messages to a database using 
JDBC/JPA. Advantages: KahaDB can be used. Browsing/Pagination of 
messages is supported by the underlying database. Disadvantages: Moving 
and potential re-queuing involves custom Camel code.

I am personally tending to approach n°3 and I am looking forward to hear 
your opinions and/or other approaches for tackling this issue.

Best regards,

Marco

Mime
View raw message