TomC is currently working on extending our management/monitoring capabilities for the next release, this is one of the areas he is looking into. He should be able to provide you with more information when he is online.
I am currently trying to understand how to ensure fully visible and loss less message delivery. After reading docs and exploring forum topics i came to know about MessageStore class and DLQ.
What i have understood is:
1. When any action from action chain throws "ActionProcessingException" message will go to the DLQ and message will get stored in "message" table in "\hypersonic\jbossesb" database.
2. That message will be tried to resend up to max attempts configured in jbossesb.esb\META-INF\jboss-esb.xml
Here are my questions:
1. When i throw "ActionProcessingException" exception from one of the action in action chain, one record gets inserted in "message" table with following values,
DELIVERED = TRUE
CLASSIFICATION = DLQ
MESSAGE = chars in some encoded form
By seeing this record it seems message is sent successfully (since DELIVERED = TRUE) but since my action will throw exception each time how message could be sent successfully. I am not sure how DELIVERED = TRUE?
Is there any way available which can be used to conform whether the message was sent successfully and how many tries it performed to send message successfully?
2. By seeing record of "message" table i can't guess what was the actual message which got failed, since i can't see the actual message body or any message property, so i can't perform any manual action on the failed message. I dont know the use of UUID column in "message" table.
3. What can i do to store each and every message which is passing through my service, so in future i can see past messages passed through the service for any audit purpose?
I want to make sure no message is lost and every error message is treated properly.
Please help me to ensure this...
Thanks in advance