Apache camel 如何在Apache Camel中结合重试和断路器?
我想重试3次,然后将失败阈值增加到1。当这个阈值达到5时,我想在Apache Camel中打开电路 我知道Camel中有断路器支持,但是我找不到一个可以将重试与之结合的示例 非常感谢您的帮助 提前谢谢Apache camel 如何在Apache Camel中结合重试和断路器?,apache-camel,circuit-breaker,Apache Camel,Circuit Breaker,我想重试3次,然后将失败阈值增加到1。当这个阈值达到5时,我想在Apache Camel中打开电路 我知道Camel中有断路器支持,但是我找不到一个可以将重试与之结合的示例 非常感谢您的帮助 提前谢谢 Ramesh.你能试试下面的代码吗 <!-- Just Throws an exception of type MyException which is a custom Exception --> <bean id="myBean" class="com.camel.exam
Ramesh.你能试试下面的代码吗
<!-- Just Throws an exception of type MyException which is a custom Exception -->
<bean id="myBean" class="com.camel.examples.MyExceptionClass" />
<camel:errorHandler id="defaultErrorHandler" type="DefaultErrorHandler">
<camel:redeliveryPolicy maximumRedeliveries="3"
redeliveryDelay="1000" logStackTrace="false" />
</camel:errorHandler>
<camel:camelContext>
<camel:route>
<camel:from uri="timer:foo?repeatCount=8&period=10000" />
<camel:setBody>
<camel:constant>Sundar</camel:constant>
</camel:setBody>
<camel:loadBalance>
<camel:circuitBreaker threshold="5" halfOpenAfter="1000">
<camel:exception>java.lang.Exception</camel:exception>
</camel:circuitBreaker>
<camel:to uri="direct:a" />
</camel:loadBalance>
</camel:route>
<camel:route id="myroute" errorHandlerRef="defaultErrorHandler">
<camel:from uri="direct:a" />
<camel:process ref="myBean"></camel:process>
<camel:log message="${exception}]" />
</camel:route>
</camel:camelContext>
MyException类
package com.camel.examples;
public class MyException extends Exception{
public MyException() {
super();
}
public MyException(String message){
super("My Exception : "+message);
}
}
package com.camel.examples;
public class MyException extends Exception{
public MyException() {
super();
}
public MyException(String message){
super("My Exception : "+message);
}
}