Java Camel | RouteBuilder何时对更新的文件执行?

Java Camel | RouteBuilder何时对更新的文件执行?,java,routes,apache-camel,Java,Routes,Apache Camel,我设置了一条基本路线: RouteBuilder路由=新建RouteBuilder(){ @凌驾 public void configure()引发异常{ from(“文件:OrderSystem?fileName=orders.txt&noop=true”) .split(body().tokenize(“\n”)) .流程(订单工厂) .to(“jms:queue:inqueue”); } }; 当我使用添加的路由运行ctxt.start()时,文件中的数据立即位于我的ActiveMQ队列

我设置了一条基本路线:

RouteBuilder路由=新建RouteBuilder(){
@凌驾
public void configure()引发异常{
from(“文件:OrderSystem?fileName=orders.txt&noop=true”)
.split(body().tokenize(“\n”))
.流程(订单工厂)
.to(“jms:queue:inqueue”);
}
};
当我使用添加的路由运行
ctxt.start()
时,文件中的数据立即位于我的ActiveMQ队列中。我有一个
Thread.sleep(999999)
以确保Camel保持活动状态,但即使如此,我的
orders.txt
文件也会用新数据更新,不再向队列中添加任何内容。如何将文件中的更新数据路由到队列?我需要执行什么来请求数据或观察更改

(如何使用camel删除文件中的数据,而不是文件本身?)

感谢您的解释。

从中,参数
noop
的说明如下

如果为true,则不会以任何方式移动或删除文件。这个选项是 适用于只读数据或ETL类型需求如果noop=true, Camel还将设置幂等元=true,以避免使用相同的值 文件一遍又一遍

实际上,您的路由是每500毫秒扫描一次文件夹(默认延迟值),然后查找名为
orders.txt
的文件。但是默认的
idempotent
设置(通过
noop
打开)会阻止您拾取“相同”文件

要实现此目标,需要调整参数
idempotentKey
,告诉Camel如何确定文件是否正在处理(默认设置为文件路径)。e、 g.同时使用文件名和大小
idempotentKey=${file:name}-${file:size}

从中,参数
noop
的描述如下:

如果为true,则不会以任何方式移动或删除文件。这个选项是 适用于只读数据或ETL类型需求如果noop=true, Camel还将设置幂等元=true,以避免使用相同的值 文件一遍又一遍

实际上,您的路由是每500毫秒扫描一次文件夹(默认延迟值),然后查找名为
orders.txt
的文件。但是默认的
idempotent
设置(通过
noop
打开)会阻止您拾取“相同”文件

要实现此目标,需要调整参数
idempotentKey
,告诉Camel如何确定文件是否正在处理(默认设置为文件路径)。e、 g.同时使用文件名和大小
idempotentKey=${file:name}-${file:size}