繁体   English   中英

如何从http使用apache camel只读一次csv文件?

[英]How can I read csv file using apache camel only once from http?

我尝试创建一个路径,可以使用csv文件访问http url并简单地打印它的内容。 不幸的是,文件正在不断读取。

  1. 是否可以只读一次然后停止处理?
  2. 为什么“direct:start”在这个例子中不起作用而我必须使用计时器?

这是我的代码:

context.addRoutes(new RouteBuilder() {
            public void configure() {
                from("timer://start?delay=5000")
                        .to("http4://127.0.0.1:18080/data.csv")
                        .unmarshal().csv()
                        .process(new Processor() {
                            @Override
                            public void process(Exchange exchange) throws Exception {
                                String list = exchange.getIn().getBody(String.class);
                                log.info(list);
                  //Here I would like to stop the route when file reading is finished
                            }
                        });
        });

谢谢!

计时器将每隔5秒钟保持一次通话。 如果您只想调用一次计时器,可以设置repeatCount=1httprepeatCount=1

但您可能需要考虑是否只让它运行一次。 如果您需要稍后再次调用该HTTP URL,该怎么办?

而且正如弗兰克评论的那样,有一种方法可以阻止路线的路线: http//camel.apache.org/how-can-i-stop-a-route-from-a-route.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM