On 10/24/06, millerkdm <[EMAIL PROTECTED]> wrote:

Thanks James! I did not know about the single-producer thing. I will
definitely give it a try.

I have thought about the last-message thing before, and I don't think it
will work, as there are a couple hundred thousand symbols, most of which
will never have a subscriber.

You can just a simple LRU cache of a fixed size with TimeToLive to
keep on top of RAM usage etc


So, when a user does subscribe to a new
symbol, there may be no last message to send.

OK


 And as memory consumption is
definitely an issue with ActiveMQ, I do not want to keep all those quotes
around in memory, anyway.  Also, since some quotes will not update for
hours, or even days, I need to make sure the user always gets the last
quote, and  my best solution, so far, is to just have the client request the
last quote when he subscribes to a symbol. Not elegant, but simple.

FWIW you could integrate in the 'request the last quote' service into
the broker so its hidden from the client if you wish.

So you just need to implement this interface
http://incubator.apache.org/activemq/maven/activemq-core/apidocs/org/apache/activemq/broker/region/policy/MessageQuery.html

and use the QueryBasedSubscriptionRecoveryPolicy
http://incubator.apache.org/activemq/maven/activemq-core/apidocs/org/apache/activemq/broker/region/policy/QueryBasedSubscriptionRecoveryPolicy.html

--

James
-------
http://radio.weblogs.com/0112098/

Reply via email to