在不使用Thread.sleep()方法的情况下运行Camel-Context

时间:2019-05-02 10:12:17

标签: apache-camel

启动骆驼上下文时,需要调用Thread.sleep()方法。可以通过某种方式避免发生吗? 可以使用wait()和notify()机制吗?

我正在尝试为我的项目实现骆驼上下文。我需要删除使线程等待一段时间的调用,例如此处使用的Thread.sleep(5000)。 有人能有主意吗?

        CamelContext ctx = new DefaultCamelContext();
        CsvRouteBuilder builder = new CsvRouteBuilder(instId, csvcolMap);
        ctx.addRoutes(builder);
        ctx.start();
        Thread.sleep(5000);
        ctx.stop();

无需使用Thread.sleep(5000)即可实现骆驼上下文的逻辑

1 个答案:

答案 0 :(得分:1)

您可以使用一个骆驼 collapse expand functionality works as per expectatiosn FAILED [object ErrorEvent] thrown 类来保持JVM的运行。请参见(针对骆驼3)的示例:https://github.com/apache/camel/tree/master/examples/camel-example-main

对于Camel 2.x而言,其相似之处在于,但2.x上的Main类的功能少于3.x上的。