在Apache Camle路由配置中返回Future的Bean方法

时间:2017-08-03 10:27:12

标签: java apache-camel future

嗨,我开始使用Apache Camel,我想知道是否可以像这样使用驼峰:

某些服务(bean):

public class SomeService {
    public Future<Data> someMethod() {
        //Do async job
    }
}

RouteBuilder伪配置:

public class MyRouteBuilder extends RouteBuilder {
    SomeService someService; //injected instance

    public void configure() {
        from("source.route")
            .bean(someService, "someMethod")
            .to("destination.route.after.job.started")
            .afterTo("destination.route.after.job.finished") //afterTo is a concept
        .end()
    }
}

所以destination.route.after.job.started会在someMethod返回后立即到达。 并且destination.route.after.job.finished将在异步作业完成后到达。

1 个答案:

答案 0 :(得分:0)

您可以使用AsyncProcessor中描述的cookbook。用法是这样的:

from("file:data/in").process(new MyValidator()).threads(20)
.process(new MyTransformation()).to("jpa:PurchaseOrder");

有关详细信息,请阅读食谱,然后询问更详细的问题,如果您有这些问题。