Rickard Dahl [
http://community.jboss.org/people/rickard%40rdahl.se] created the
discussion
"DurableMessagesGoesToDLQAfterRestart"
To view the discussion, visit:
http://community.jboss.org/message/536312#536312
--------------------------------------------------------------
Hi,
Short problem description: After restarting JBoss, pending messages on a durable topic
will be put on DLQ. I expect them to stay on the topic even after a restart.
Background to my problem:
I have a topic and two durable subscribers (two MDB's). One of the subscribers will
try to deliver messages to a web service, which _can_ be offline. In this case, the MDB
will throw an exception. By doing like this, the message will be delivered when the web
service comes up again.
By default, the MDB will run 16 sessions in parallell.
The problem is that when the web service is offline and I restart JBoss, all pending
messages will be put on DLQ.
After the restart, ther is still 16 messages in
An example:
- I publish 56 messages to the topic
- The web service is offline
- Subscriber 1 (the "web service" one) now has 56 pending messages
- Subscriber 2: 56 successfully processed messages, 0 pending messages
- DLQ: 0 pending messages
Result after the restart:
- Subscriber 1 (the "web service" one) now has 16 pending messages
- Subscriber 2: 0 pending messages
- DLQ: 40 pending messages
My setup:
- JBoss 4.2.3
- JBoss Messaging 1.4.4 (have also tried with 1.4.2 with the same result)
- Using a MSSQL database for persistance
Note that the problem is NOT that the max number of retries has been reached since the
MDB's have a LARGE numer of retries set with annotation "dlqMaxRetries" +
each onMessage() takes a ouple of sec because of the web service call.
--------------------------------------------------------------
Reply to this message by going to Community
[
http://community.jboss.org/message/536312#536312]
Start a new discussion in JBoss Messaging at Community
[
http://community.jboss.org/choose-container!input.jspa?contentType=1&...]