Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java camel使用控制总线暂停路由_Java_Apache Camel - Fatal编程技术网

Java camel使用控制总线暂停路由

Java camel使用控制总线暂停路由,java,apache-camel,Java,Apache Camel,我有驼峰路线,它在异常情况下使用控制总线暂停路线 onException(Exception.class).maximumRedeliveries(1).onRedeliveryRef("controlBusProcessor"); from("quartz2://myGroup/myTimerName?trigger.repeatInterval=2000&trigger.repeatCount=0") .routeId("myRoute")

我有驼峰路线,它在异常情况下使用控制总线暂停路线

onException(Exception.class).maximumRedeliveries(1).onRedeliveryRef("controlBusProcessor");
from("quartz2://myGroup/myTimerName?trigger.repeatInterval=2000&trigger.repeatCount=0")
                    .routeId("myRoute")
                    .process(simpleProcessor)
                    .to("stream:out")
路由最初调用一个引发
异常的简单处理器,
onException
有一个
redeliveryRef
,它调用一个暂停路由的控制总线处理器,但它仍然调用简单处理器来重新传递消息


如果路由被挂起,为什么仍调用simple processor,它不应该等到路由恢复吗?

我怀疑重新交付是在
.process(simpleProcessor
)的故障点开始的。但是,如果您只想挂起路由,为什么不将
.onException(Exception.class).to(“controlBusProcessor”)

添加到(“controlBusProcessor”)
否,路由将在挂起之前完成其飞行中的消息。在自定义重新交付处理器中,您可以通过使用
exchange.stop=true
设置exchange上的属性,将exchange标记为停止继续路由

请参见
停止处理器如何执行此操作: