Win a copy of Head First Go this week in the Go forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Liutauras Vilda
  • Bear Bibeault
  • Paul Clapham
  • Jeanne Boyarsky
Sheriffs:
  • Devaka Cooray
  • Junilu Lacar
  • Tim Cooke
Saloon Keepers:
  • Tim Moores
  • Ron McLeod
  • Tim Holloway
  • Claude Moore
  • Stephan van Hulst
Bartenders:
  • Winston Gutkowski
  • Carey Brown
  • Frits Walraven

Throttling with circuit breaking in Camel  RSS feed

 
Greenhorn
Posts: 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Is there a way to open circuit of a route until the aggregate batch transfer is complete?

I have checked Camel's route policy, but this works for a number of inflight exchanges. Also, I checked RouteBuilder's source code but looks like there is no such option.

I have the following route:



Now my use case is that I want to transfer 500 messages between these routes, and I use .throttle(500). But I also want to control that when the next batch of 500 messages should be routed. I want to route the next 500 messages only when the queue a2 becomes empty.

For example, messages are getting routed from queue a1 to a2. Say 500 messages have been routed successfully, now I want to suspend (or open circuit) of my route so that it won't transfer messages any further until the queue a2 becomes empty (there is a consumer which is pulling messages from queue a2)

Is there a way to achieve this in Apache Camel?
 
With a little knowledge, a cast iron skillet is non-stick and lasts a lifetime.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!