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
- Strategy for browsing a DLQ containing a high number of (la... Marco Zapletal
-