You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by GFO <gu...@gmail.com> on 2018/12/13 07:54:05 UTC
Cursors, queues and DLQ
Hi all,
I am trying to understand queues, DLQ, memoryLimit, producerFlowControl and
cursors.
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
is blocked.
*=> 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
storeCursor.
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.
=> OK.
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
for queues).
=> 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...
Kind regards
--
Sent from: http://activemq.2283324.n4.nabble.com/ActiveMQ-User-f2341805.html