qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrew Wright <atwri...@mac.com>
Subject Java/JMS LVQ interaction
Date Mon, 14 Sep 2009 21:56:11 GMT
Hi all,

We've been using LVQs from our JMS clients and while they work well  
enough, the way we're going about feels a little clunky. The process  
we use breaks down as:

- Declare a LVQ with the NO_BROWSE option set for the cache
- Declare a second (non-lvq) to receive real-time updates (likely on a  
fanout exchange)
- clients connect to the second queue but don't start consuming msgs yet
- clients then connect to the LVQ and browse the entire thing for the  
'snapshot' state
- they then start consuming from the fanout queue and have nothing  
more to do with the LVQ
- producers send msgs to both queues

This gives us a way of having multiple clients receive a snapshot when  
they start up, and receive additional updates afterwards. It just  
feels like we're doing too much work. I guess what I had in mind when  
I first heard about LVQs was more of a broker-side key/value cache,  
with an efficient way of accessing it from a client. What we'd really  
like is a way for clients to say 'give me the last value for key x',  
have that call return in a short amount of time (hash-based), and do  
it non-destructively (ie, multiple clients could do this and not  
remove the msg for other clients). Currently the jms QueueBrowser  
implementation doesn't work like that, which is why we've ended up  
with the above workaround. (aside thought: perhaps an LVQ in  
conjunction with a fanout exchange might be of some use?)

Have I just been completely blind and missed something obvious, or is  
this the way it works today? If so, are there any thoughts around  
providing something more 'LVQ-oriented' vs 'JMS-oriented'? For  
something like this we wouldn't feel strongly about sticking to JMS,  
although using a selector on a QueueBrowser would seem an obvious fit.

Thanks very much,

Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org

View raw message