The idea would be basically what Claus said. You'd have an expression you use in order to "correlate" messages with one another. This expression would be evaluated against incoming messages and the result would be used to lookup the throttling state for that group in some map (probably a ConcurrentHashMap wrapped by LRU to prevent memory leaks or something).
On Mon, Oct 7, 2013 at 3:51 PM, Daniel Bularzik <d...@akc.org> wrote: > So obviously, instead of asking "Is there a way..." I should have asked "How > do I..." > > Consider this a restatement of my original question. How would I go about > doing this? A summary of a whiteboard implementation would be sufficient. > > > -----Original Message----- > From: jcar...@carmanconsulting.com [mailto:jcar...@carmanconsulting.com] On > Behalf Of James Carman > Sent: Monday, October 07, 2013 8:08 AM > To: users@camel.apache.org > Subject: Re: Throttling by client ID? > > I actually had to implement that on a whiteboard when interviewing for a > certain tech company. It's not terribly difficult to implement such a beast. > > > On Mon, Oct 7, 2013 at 7:59 AM, Daniel Bularzik <d...@akc.org> wrote: > >> We're looking to enforce a per-client SLA; notably, right now we're >> considering how to throttle service use on a per-client basis. I've >> found the Throttler Pattern, but this appears to only useful for >> throttling overall use of the service. Is there a way to use Throttler >> to limit access on a per-client basis? Assume the client ID is >> available in the exchange.* >> *** >> >> ** ** >> >> Daniel Bularzik, Lead Software Engineer**** >> >> ****8051 Arco Corporate Drive, Suite 100, Raleigh, NC 27617**** >> >> 919-816-3818, d...@akc.org**** >> >> www.akc.org Facebook <https://www.facebook.com/AmericanKennelClub> >> Twitter <https://twitter.com/akcdoglovers>**** >> >> ** ** >>