Hi,

I'm trying to understand how ActiveMQ's broker manages persistent messages 
internally, and I have some questions that I'd like to discuss.

Persistent messages are stored in the Message Store, such as KahaDB. The KahaDB 
architecture comprises several elements: datalogs, cache, BTree indexes, etc.

In addition to the Message Store, ActiveMQ has another element where messages 
are also stored: Message Cursors.

My main question is whether the Message Store and the Message Cursors are 
somehow interconnected or if they are independent elements within the broker. 
For instance, the Message Store has a cache to store messages in memory, but 
the Message Cursor also stores messages in memory (in the Pending Cursor). 
Therefore, I'm curious if the Message Store's cache is the same as the Pending 
Cursor. In other words, would the same message be stored twice in memory (once 
in the cache and once in the pending cursor)?

I would greatly appreciate any assistance in clarifying these doubts. Thank you 
in advance.


Reply via email to