Cursors, queues and DLQ
I am trying to understand queues, DLQ, memoryLimit, producerFlowControl and
I hope someone can help me!
My tests are:
1/ MemoryLimit on a queue, with producerFlowControl set to true (default).
I send messages to this queue, memoryLimit is reached and then the producer
*=> I thought storeCursor was enabled by default, so that my producer won't
be blocked (messages will be stored in storage space). Someone can explain?*
2/ MemoryLimit on a queue, with producerFlowControl to false and
I send messages to this queue, memoryLimit and the producer is not blocked.
StoreCursor seems to work as my messages are on storage space because
queue's memory is full.
*=> Do we need to set producerFlowControl to false to make cursors work?*
It could have sense but I thought the default behaviour of ActiveMQ was
store-based cursors with producerFlowControl enabled (cf. "Message Cursors"
documentation page, last example).
3/ MemoryLimit on a DLQ (v1)
DLQ is filled by errors after a consumer has rejected some messages.
When memoryLimit is reached, messages go to the storage space.
4/ MemoryLimit on a DLQ (v2)
I send messages to my DLQ with a producer.
When memoryLimit is reached, the producer is blocked (like in my first test
=> How do you explain the different behaviour depending on how we fill a DLQ
=> Why does this behaviour is different between a queue and a DLQ?
Thanks a lot for your explanations...
Sent from: http://activemq.2283324.n4.nabble.com/ActiveMQ-User-f2341805.html