activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From PetarTr <>
Subject Slow processing consumers
Date Mon, 20 Sep 2010 14:47:59 GMT

  I have a scenario where I have one producer which sends small (around
10KB) files to the consumers. Although the files are small, the consumers
need around 10 seconds to analyze them and return the result to the
producer. I've researched a lot, but I still cannot find answers to the
following questions:

   1. How do I make the broker store the files (completely) in a queue?
   2. Should I use ObjectMessage (because the files are small) or blob
   3. Because the consumers are slow processing, should I lower their
prefetchLimit or use a round-robin dispatch policy? Which one is better?
   4. And finally, in the ActiveMQ FAQ, I read this - "If a consumer
receives a message and does not acknowledge it before closing then the
message will be redelivered to another consumer.". So my question here is,
does ActiveMQ guarantee that only 1 consumer will process the message (and
therefore there will be only 1 answer to the producer), or not? When does
the consumer acknowledge a message (in the default, automatic acknowledge
settings) - when receiving the message and storing it in a session, or when
the onMessage handler finishes? And also, because the consumers are so slow
in processing, should I change some "timeout limit" so the broker knows how
much to wait before giving the work to another consumer (this is kind of
related to my previous questions)?

Thank you!
View this message in context:
Sent from the ActiveMQ - User mailing list archive at

View raw message