gpt4 book ai didi

java - 如何调用Camel读取文件的路由?

转载 作者:行者123 更新时间:2023-11-30 06:06:53 24 4
gpt4 key购买 nike

我有 Camel 路线来读取文件,如下所示:

@Component
public class MessageRoute extends RouteBuilder {

public static final String ROUTE_ID = "message.route";
public static final String ROUTE_URI = "{{message.route.uri}}";

@Override
public void configure() throws Exception {

from("file:://target/test.txt")
.convertBodyTo(String.class)
.process(exchange -> {
log.info("Body {}", exchange.getIn().getBody(String.class));
});
}
}

现在的问题是如何调用该路由?我的最终目标是从 ProducerTemplate 调用并处理文件内容。

我在Camel Docs上找不到任何关于此的信息。

另外,我尝试使用 this answer 中提到的 pollEnrich ,但是在调试时,执行根本不会到达聚合器。

如果有任何解决方案、建议或想法,我将感激不尽。

最佳答案

我必须做类似的事情。以下内容适用于 Camel 2.18+ -

rest("/load")
.get("/sampleFile")
.to("direct:readFromSampleFile")
;
from("direct:readFromSampleFile")
.pollEnrich("file://c:/folder?fileName=sample.txt&noop=true&idempotent=false") // idempotent to allow re-read, no-op to keep the file untouched
.convertBodyTo(String.class)
.log("Read ${body}")
.unmarshal().json(JsonLibrary.Jackson)
.setHeader("Content-Type").constant("application/json")
.log("Returned ${body}")
;

关于java - 如何调用Camel读取文件的路由?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51107675/

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