Is it possible re-send messages in the existing DLQ?
Create an MDB (transacted) that parses the Message property DLQHandler.JBOSS_ORIG_DESTINATION and creates a QueueSender, then sends the message to this queue.
There are no JMX controls for this.
So, one solution is to replace the queue's DLQ with a custom MDB and resend the Message to the original queue. I really don't like the idea of getting caught in an endless loop sucking up bandwidth and other resources.
I guess I will have to create a DLQ MDB which persists the messages to a different table. Then my users can edit, resend messages arbitrarily. I was hoping to avoid this because this project will be placed at hundreds (maybe thousands) of remote locations. I'm trying to keep everything as small as possible for logistics reasons.
I had also played around with the idea of using QueueBrowser to inspect, edit and resend messages. That would work fine except I don't think there's a good way to delete individiual messages (I'd need to remove the message from the DLQ after it was resent). If there is a way to delete messages, I'd be very interested in using this approach.
You can programmatically stop/start delivery of messages in an MDB. Look at the JMX console under (jboss.j2ee). So, you could keep in in the stop position, and then an operator could resend them later.
You can programmatically stop/start delivery of messages in an MDB. Look at the JMX console under (jboss.j2ee)
is there a way the define the queue in such a way that when JBoss starts up, the delivery mechanism is NOT started? And programmatically, we can start the the delivery later (programmatically or via console) ?