Dequeue timing and managing stopped queues
679533Jan 13 2009 — edited Jan 14 2009Hi all, I'm trying to use AQ, but I have some doubts and questions.
Using Oracle Express 10g, I created one queue with 10 subscribers, each one with a rule based on PRIORITY property. In the enqueue procedure, I set the PRIORITY with a random number between 1 to 10, so that every message is read by only one subscriber.
Every subscriber launch the same PL/SQL procedure, which insert a record in a spool table with the enqueued message informations, the message property ENQUEUE_TIME and the sysdate, which is for me the DEQUEUE time.
The first thing I don't understand is that the difference between ENQUEUE_TIME and DEQUEUE TIME is always about 5-7 seconds, indipendently the number of messages I enqueue. I think it is too much, but there is another strange behaviour: it seems that the dequeue procedure runs at the same time for every message ...
Then I don't understand another thing, this time about the queue management. I would like to stop the queue (i.e. I need to manipulate something and I want to be sure that the dequeue process isn't running) and then restart the queue, allowing the subscribed consumers to dequeue the messages in the queue. I don't understand what I have to do: after starting the queue, the messages have not been dequeued, they still be in the queue.
Maybe I need to activate some listener or something else ?
I hope some could help me.
Thanks,
cheers
Ennio