gpt4 book ai didi

java - 如何仅使用 apache camel 从 http 读取一次 csv 文件?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:15:24 27 4
gpt4 key购买 nike

我尝试创建一个路由,它可以使用 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=1: http://camel.apache.org/timer

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

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

关于java - 如何仅使用 apache camel 从 http 读取一次 csv 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36500030/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com