骆驼测试用原始路线中的直接替换 seda

camel test replace seda with direct in original route

camel测试,直接替换seda

在我的骆驼路线测试中,我想用直接替换 seda 调用,例如

而不是 "seda:Second_route_id" 我的消费者应该 "direct:Second_route_id" 进行测试

以下是我的原路线

from("direct:First_route_id").id("First_route_id")
.process() // bla bla
.multicast()
.to("Second_route_id");

---
from("seda:Second_route_id").id("Second_route_id")
.proces() // save data
.end()

我试着做一些像

    context.getRouteDefination("First_route_id").adviceWith(context, new AdviceWithoutRouteBuilder(){
    public void configure(){
// but it gave me error no consumer found for "direct: Second_route_id"
    weaveById("Second_route_id").before().to("direct: Second_route_id "); 
    }
    })

有一种 replaceFromWith 方法可用于在使用建议时将 seda 更改为直接。

replaceFromWith 是一种可能的方式:

    camelContext.getRouteDefinition("Second_route_id").adviceWith(camelContext, new AdviceWithRouteBuilder() {

        @Override
        public void configure() throws Exception {
            replaceFromWith("direct:Second_route_id");
        }
    });