-
Bug
-
Resolution: Done
-
Major
-
JBoss A-MQ 6.2
-
None
-
None
We have a broker configured with:
<redeliveryPlugin fallbackToDeadLetter="true" sendToDlqIfMaxRetriesExceeded="true"> <redeliveryPolicyMap> <redeliveryPolicyMap> <redeliveryPolicyEntries> <!-- a destination specific policy --> <redeliveryPolicy queue="FOO.BAR" maximumRedeliveries="3" redeliveryDelay="9000" /> </redeliveryPolicyEntries> <!-- the fallback policy for all other destinations --> <defaultEntry> <redeliveryPolicy maximumRedeliveries="0" initialRedeliveryDelay="5000" redeliveryDelay="10000" /> </defaultEntry> </redeliveryPolicyMap> </redeliveryPolicyMap> </redeliveryPlugin>
And a consumer that simply rollsback the session upon receive a message:
String msgText; if (msg instanceof TextMessage) { msgText = ((TextMessage)msg).getText(); System.out.println("\n\t "+ msgText +", hence rolling back"); // Here we are rolling back the session. // The "Hello World" message which we received is not committed, hence it's undelivered and goes back to the TestQ qsession.rollback(); }
If you push a large number of messages of a large size, you will see the scheduler store grow:
i.e,
sjavurek staff 32M Sep 16 16:16 ./ILP-B/scheduler/db-35.log -rw-r--r-- 1 sjavurek staff 32M Sep 16 16:17 ./ILP-B/scheduler/db-36.log -rw-r--r-- 1 sjavurek staff 32M Sep 16 16:17 ./ILP-B/scheduler/db-37.log -rw-r--r-- 1 sjavurek staff 32M Sep 16 16:17 ./ILP-B/scheduler/db-38.log -rw-r--r-- 1 sjavurek staff 32M Sep 16 16:17 ./ILP-B/scheduler/db-39.log -rw-r--r-- 1 sjavurek staff 32M Sep 16 16:14 ./ILP-B/scheduler/db-4.log -rw-r--r-- 1 sjavurek staff 32M Sep 16 16:17 ./ILP-B/scheduler/db-40.log -rw-r--r-- 1 sjavurek staff 32M Sep 16 16:17 ./ILP-B/scheduler/db-41.log -rw-r--r-- 1 sjavurek staff 32M Sep 16 16:17 ./ILP-B/scheduler/db-42.log -rw-r--r-- 1 sjavurek staff 32M Sep 16 16:17 ./ILP-B/scheduler/db-43.log -rw-r--r-- 1 sjavurek staff 32M Sep 16 16:17 ./ILP-B/scheduler/db-44.log -rw-r--r-- 1 sjavurek staff 32M Sep 16 16:17 ./ILP-B/scheduler/db-45.log -rw-r--r-- 1 sjavurek staff 32M Sep 16 16:17 ./ILP-B/scheduler/db-46.log -rw-r--r-- 1 sjavurek staff 32M Sep 16 16:17 ./ILP-B/scheduler/db-47.log -rw-r--r-- 1 sjavurek staff 32M Sep 16 16:18 ./ILP-B/scheduler/db-48.log -rw-r--r-- 1 sjavurek staff 32M Sep 16 16:18 ./ILP-B/scheduler/db-49.log -rw-r--r-- 1 sjavurek staff 32M Sep 16 16:14 ./ILP-B/scheduler/db-5.log -rw-r--r-- 1 sjavurek staff 32M Sep 16 16:15 ./ILP-B/scheduler/db-6.log -rw-r--r-- 1 sjavurek staff 32M Sep 16 16:15 ./ILP-B/scheduler/db-7.log -rw-r--r-- 1 sjavurek staff 32M Sep 16 16:15 ./ILP-B/scheduler/db-8.log -rw-r--r-- 1 sjavurek staff 32M Sep 16 16:15 ./ILP-B/scheduler/db-9.log -rw-r--r-- 1 sjavurek staff 8B Sep 16 16:05 ./ILP-B/scheduler/lock -rw-r--r-- 1 sjavurek staff 1.6M Sep 16 16:18 ./ILP-B/scheduler/scheduleDB.data -rw-r--r-- 1 sjavurek staff 922K Sep 16 16:18 ./ILP-B/scheduler/scheduleDB.redo
Receiving the messages of the DLQ does not force the scheduler to cleanup.