Messages NOT going to exception queue after retry count
619290May 13 2008 — edited Jul 7 2008I am using Oracle AQ to feed a Java MDB. Normal de-queuing works great. When I encounter an error and need to rollback the read, the message goes back to the queue as expected.
However, if I repeatedly read and roll back, the message disappears after the queue's retry count (default of 5), but the message does NOT get placed in the default exception queue.
Here is how I am creating and starting the queues:
begin
dbms_aqadm.create_queue_table(queue_table=>'TEST_TRACK_QUEUE_TABLE',
queue_payload_type=>'sys.aq$_jms_text_message', multiple_consumers=>false);
dbms_aqadm.create_queue(queue_name=>'TEST_TRACK_QUEUE', queue_table=>'TEST_TRACK_QUEUE_TABLE');
dbms_aqadm.create_queue(queue_name=>'TEST_TRACK_ERROR_QUEUE', queue_table=>'TEST_TRACK_QUEUE_TABLE');
dbms_aqadm.start_queue(queue_name=>'TEST_TRACK_QUEUE');
dbms_aqadm.start_queue(queue_name=>'TEST_TRACK_ERROR_QUEUE');
dbms_aqadm.start_queue(queue_name=>'AQ$_TRACK_QUEUE_TABLE_E',
dequeue => true,
enqueue => false);
end;
I expect the messages to go to the AQ$_TRACK_QUEUE_TABLE_E queue after the retry-count has been hit. Instead they are just disappearing.
I have used HermesJMS and a select against the TEST_TRACK_QUEUE_TABLE to see the messages.
Any ideas?
I am using Oracle Database 10g Express Edition Release 10.2.0.1.0.
Thank you