activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From GFO <guillaume.forg...@gmail.com>
Subject Cursors, queues and DLQ
Date Thu, 13 Dec 2018 07:54:05 GMT
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

Mime
View raw message