如何将路线公开为服务,以便我们可以在运行时启动或停止路线

时间:2018-10-26 16:28:48

标签: spring spring-boot apache-camel camel-ftp spring-camel

我有以下航线课程

public class FileReaderRoute extends RouteBuilder {

    @Override
    public void configure() throws Exception {
        from("file:{{file.encrypt.source}}?noop=true;delete=true")
                .setProperty("fileName", simple("${in.header.CamelFileName}")).log("File Reader Route route started")
                .to("direct:addSignatureRoute");
    }

}

我已经使用springboot加载了上述路由。因此,如果我运行该应用程序,请开始路由并开始在给定位置读取文件。

我的要求是在运行时即运行应用程序后启动和停止路由。仅当我按需向该应用程序发送请求并通过向正在运行的应用程序发送请求来停止路由时,才必须启动路由。

1 个答案:

答案 0 :(得分:0)

您可以为您的路线提供一个ID:

from("file:...")
.id("myroute")
...
.autoStartUp(false);

并使用此ID停止/启动相应的路线:

camelContext.startRoute("myroute");