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

Reply via email to