Hello, I'm working on a large integration project based on the apache camel 2.22.0 and tomcat 7 as web container. I would like to set up a route to handle HTTP dynamic routing (32 endpoints) with Hystrix EIP as a resiliency solution. However, I encountered a problem with updating the hystrix settings in the runtime, when i wanted to override the *GroupKey*/*ThreadPoolKey *parameters depending on the instance.
Note that when the hystrix circuit breaker is open, it remains open regardless of the instance (endpoint) that is called. So, is there a way to update hystrix configuration at runtime in a single camel route ? I'm using Spring XML DSL to create a route and referring to a hystrix configuration. For now the only solution I have is to do one hystrix route per endpoint but that makes a lot of routes that do the same thing. Below my test example Thank you for your help! ==================================================== <beans:bean id="hystrixConfiguration" class="org.apache.camel.model.HystrixConfigurationDefinition"> <beans:property name="circuitBreakerSleepWindowInMilliseconds" value="10000" /> <beans:property name="circuitBreakerRequestVolumeThreshold" value="3" /> <beans:property name="circuitBreakerErrorThresholdPercentage" value="50" /> <beans:property name="groupKey" value="myGroup" /> </beans:bean> <route id="timerClient" streamCache="true"> <from uri="timer:trigger?period=1000&fixedRate=true&repeatCount=50" /> <setHeader headerName="endpointsToBeTriggered"> <method beanType="camel.hystrix.MessageRouter" method="getEndpointsToRouteMessageTo" /> </setHeader> <to uri="direct:toHystrix" /> </route> <route id="toHystrix"> <from uri="direct:toHystrix" /> <hystrix id="toHystrixEip" hystrixConfigurationRef="hystrixConfiguration"> <toD uri="${headers.endpointsToBeTriggered}" /> <onFallback> <transform> <simple>Hystrix Fallback message</simple> </transform> </onFallback> </hystrix> </route>