There is no queuing on the producer. This can lead to inefficiency if the path from producer to broker crosses a high-latency network link.
There is queuing on the consumer. Read up on prefetch ( http://activemq.apache.org/what-is-the-prefetch-limit-for.html, for starters) for more info. Any messages not dispatched to a consumer are stored on the broker. This is where you could discard one message in favor of another. Look at the info about the Constant Pending Message Strategy on http://activemq.apache.org/slow-consumer-handling.html for details of what it can do for you. On Mar 6, 2015 9:02 AM, "joseph.gagnon" <[email protected]> wrote: > When messages are transmitted via ActiveMQ presumably there is some form of > queuing (pun definitely intended) of messages behind the scenes to provide > the greatest likelihood that messages will make it to their destinations > (the degree of which is controlled by various configuration settings). I > assume that this is true regardless of whether the destination is a queue > or > topic. I am using topics to enforce the publisher/subscriber paradigm. > > My questions are: > > - Is there queuing on the publisher (writer) side? > - Is there queuing on the subscriber (reader) side? I assume the answer > here is yes. > - Is there a way to configure (via the config file or programmatically at > run-time), the depth(s) of these queues? If so, how and what are the > details of what can be configured? > - Is it possible to implement a policy that forces the "oldest" entry off > the queue so that newer entries can be enqueued? > > Thank you. > > > > > -- > View this message in context: > http://activemq.2283324.n4.nabble.com/Queue-depth-questions-tp4692645.html > Sent from the ActiveMQ - User mailing list archive at Nabble.com. >
