Nope, slow consumer strategies and pending message limit strategies are orthogonal; messages are discarded because there are two many of them pending and you've configured a pending message limit strategy, not necessarily because consumers are considered slow. (In fact, depending on your settings, your use of a pending message limit strategy could cause your slow consumer strategy from kicking in if you're preventing enough pending messages from building up to cross the threshold of the consumer's prefetch buffer.)
A pending message limit strategy is to me most useful for handling the situation where a consumer is disconnected entirely rather than one where it's slow. But you can get the same protection from using a message expiration on your messages if you control the producers and it's easier to reason about whether queue consumers will process an old message when they reconnect if you use message expiration (because you guarantee that all messages older than a given time are gone, rather than having N of the "highest priority" sitting around forever waiting to be consumed when someone comes back), so I prefer message expiration. But a pending message limit strategy is useful if you don't control the producers (and aren't willing to use an embedded Camel route to set the expiration when each message hits the broker). I'd expect the pending message strategy to be applicable to all messages in a queue, but I'd expect it to apply to each consumer on a topic independently (after applying selectors, so some consumers might get messages evicted while others didn't need to). Also, keep in mind that for a topic, each consumer gets its own copy of the message; a message that is evicted for one consumer would not be handed to any other consumer, since they've already gotten their copy. Tim On Sun, Mar 1, 2015 at 5:04 PM, Kevin Burton <bur...@spinn3r.com> wrote: > And I can’t tell if it’s saying that messages are evicted from the entire > QUEUE or just messages target for that consumer. > > I’m looking at TopicSubscription to try to figure it out and it’s unclear > if it’s just for messages targeted to a specific consumer which are then > placed *back* into the queue for other consumers to handle (which would be > reasonable behavior I think). > > On Sun, Mar 1, 2015 at 4:00 PM, Kevin Burton <bur...@spinn3r.com> wrote: > > > Message eviction seems to be not well documented so I’m confused. > > > > If I have a slow consumer, does the broker actually *delete* messages? > > > > So if I have an errant consumer, configured incorrectly, this will impact > > production because messages are just removed from the queue? > > > > > > -- > > > > Founder/CEO Spinn3r.com > > Location: *San Francisco, CA* > > blog: http://burtonator.wordpress.com > > … or check out my Google+ profile > > <https://plus.google.com/102718274791889610666/posts> > > <http://spinn3r.com> > > > > > > > -- > > Founder/CEO Spinn3r.com > Location: *San Francisco, CA* > blog: http://burtonator.wordpress.com > … or check out my Google+ profile > <https://plus.google.com/102718274791889610666/posts> > <http://spinn3r.com> >