gpt4 book ai didi

java - Camel 文件输入连续读取同一文件,即使给定 noop=true

转载 作者:太空宇宙 更新时间:2023-11-04 06:38:09 26 4
gpt4 key购买 nike

camel 文件组件正在连续读取同一文件,并且未检测到其他文件。

我有一条 Camel 路线,

<camelContext trace="false" xmlns="http://camel.apache.org/schema/spring">
<route>
<from uri="file:C:/Books/input_dir?noop=true"/>
<dynamicRouter>
<method ref="fileRouter" method="routeFiles"></method>
</dynamicRouter>
</route>
</camelContext>
<bean id="fileRouter" class="org.test.demo.DynamicRouter"/>

和路由器一样,

public class DynamicRouter {
public String routeFiles(Exchange exchange){
final String fileName = (String) exchange.getIn().getHeader(Exchange.FILE_NAME_ONLY);
System.out.println("FILENAME: "+fileName);
if(fileName.contains("survival")){
return "file:C:/Books/output_dir";
}else {
return "file:C:/Books/target_dir";
}
}
}

每当将 beahomelist 文件放入 C:/Books/input_dir 文件夹时,它都会读取第一个文件,并且永远不会停止,如下面的日志所示

FILENAME: beahomelist FILENAME: beahomelist FILENAME: beahomelist FILENAME: beahomelist FILENAME: beahomelist FILENAME: beahomelist FILENAME: beahomelist FILENAME: beahomelist....

并且不会检测到同一文件夹中放入的任何其他文件。即使给出了 noop=true ,它也会发生。请就此提供一些建议。我使用的 Camel 版本:2.13.0

最佳答案

阅读有关动态路由器 eip 的文档,看到请注意!顶部的框

虽然看起来您应该使用“动态到”而不是动态路由器,但请参阅此常见问题解答

所以只需使用

  <recipientList>
<method ref="fileRouter" method="routeFiles"></method>
</recipientList>

关于java - Camel 文件输入连续读取同一文件,即使给定 noop=true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25056966/

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