The CamelContext provides API for managing routes at runtime. It has a stopRoute(id) and startRoute(id) methods.
Stopping a route during routing an existing message is a bit tricky. The reason for that is Camel will graceful shutdown the route you are stopping. And if you do that while a message is being routed the graceful shutdown will try to wait until that message has been processed.
Now that message can easily be yourself. So to cater for that you have to tell Camel that you are done routing this message which you do by removing it from the in flight registry. The follow code shows how you can stop a route from a Processor:
Camel provides another feature for managing routes at runtime which is RoutePolicy.
And CamelContext also provides API for suspend/resume of routes, and shutdown as well.