activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christian Posta <christian.po...@gmail.com>
Subject Re: Re:Clarifcation on KahaDB support for message priority is needed
Date Fri, 22 Mar 2013 18:47:20 GMT
You cannot assume 100% correct 0-9 priority order all the time. The broker
will strive to deliver fully in order priority as best it can (in the
index, in the store cursors/subscription cursors, and on the client),
however that behavior can change slightly  based on your config and
messaging properties (prefetch, maxPageSize, cache enabled/disabled, broker
memory settings etc, and whether or not you're using persistent/non
persistent messages and the speed of your consumers/producers). The only
thing you can assume is that the kahadb groups will be honored (which are
0-3=LOW, 4 = DEFAULT, and 5-9=HIGH. I will update date the docs as soon as
I get a chance to and will try to explain this better.


On Fri, Mar 22, 2013 at 7:26 AM, mikmela <mikmela@yahoo.com> wrote:

> It's been a bit confusing... According to
> http://activemq.apache.org/message-cursors.html
> <http://activemq.apache.org/message-cursors.html>  :
> The store based cursor also handles cursors for non-persistent messages,
> which are not stored in the message store. Non-persistent messages are
> passed directly to the cursor, so the store based cursor embeds a file
> based
> cursor just for these types of messages.
>
> This description in itself is not very clear, but what I can gather is that
> in-bound non-persistent messages even though not stored in message store
> still can end up some sort of temporary file store (is it not kahadb
> based?)
> and eventually end up in broker's pending cursor (where they are sorted
> according to your desription). Then they dispatched to client's pendiing
> cursor where they again can be reordered if prefetch enabled and delivered
> to consumer. Looks like *SimplePriorityMessageDispatchChannel* does it if
> prefetch is enabled.
> Again, you're saying that as long as prefetch is enabled and pending
> cursors
> are involved message priority will be honored for both type of messages
> persistent and non persistent no mater what type of message (JDBC vs KahaDB
> is used)?
>
> Then the question is how scalable such implementation is? What if  I'd send
> a 100000 non-expiring messages to the queue and then start a consumer?
>
>
>
> --
> View this message in context:
> http://activemq.2283324.n4.nabble.com/Clarifcation-on-KahaDB-support-for-message-priority-is-needed-tp4665014p4665053.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>



-- 
*Christian Posta*
http://www.christianposta.com/blog
twitter: @christianposta

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message