Apache camel 骆驼负载平衡器断路器未按预期工作
我们正试图在我们的产品中实现断路器模式。 我尝试实现它,并观察到,如果我将阈值设为“0”,它工作正常。但任何值>0,它只需等待2秒,并允许请求与外部rest服务通信 我尝试了下面这个简单的例子,计时器组件每1秒触发一次消息,在我的处理器中,我编写了逻辑,好像它会抛出MyCustomException 3次,然后断路器将进入断开状态,它应该等待10秒,正如我在camel文档中读到的。但它只是将请求阻塞2秒,然后允许处理请求Apache camel 骆驼负载平衡器断路器未按预期工作,apache-camel,Apache Camel,我们正试图在我们的产品中实现断路器模式。 我尝试实现它,并观察到,如果我将阈值设为“0”,它工作正常。但任何值>0,它只需等待2秒,并允许请求与外部rest服务通信 我尝试了下面这个简单的例子,计时器组件每1秒触发一次消息,在我的处理器中,我编写了逻辑,好像它会抛出MyCustomException 3次,然后断路器将进入断开状态,它应该等待10秒,正如我在camel文档中读到的。但它只是将请求阻塞2秒,然后允许处理请求 import org.apache.camel.CamelContext;
import org.apache.camel.CamelContext;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.impl.DefaultCamelContext;
public class CamelHttp {
public static void main(String[] args) throws Exception {
CamelContext context = new DefaultCamelContext();
context.addRoutes(new RouteBuilder() {
@Override
public void configure() throws Exception {
from("timer://simpleTimer?period=1000")
.setBody(simple("Hello from timer at ${header.firedTime}"))
.loadBalance()
.circuitBreaker(2, 10000, MyCustomException.class)
.process(new MyProcessor())
.to("mock:result");
}
});
context.start();
Thread.sleep(20000);
context.stop();
}
}
我只是被困在这一点上
非常感谢您的任何帮助或建议
提前感谢。当我将camel-core版本从2.15.0更新到2.16.0时,问题得到了解决
现在,它正在按预期工作。您能否至少花一些时间格式化您的代码示例,使其可读,以供可能希望帮助您的人使用。如果你自己没有表现出任何努力,那么其他人甚至可能都不会来帮助你。嗨,克劳斯,谢谢你的反馈,对给你带来的不便表示歉意。我编辑了代码并保存了下来。同行评论员:这是一个答案——这就是为OP解决这个问题的原因。