这个 Camel 路由应该开始从 Ftp-Server 读取文件:
from("sftp://user@...")
现在,我不希望它自动启动、轮询或类似操作。
这应该手动启动(外部,JMX)。
我还有其他通过 MBean 触发的路由,为此我使用了直接标签:
from("direct:myRoute1")
使用 FTP 读取功能作为第一个操作开始执行相同操作的最佳方法是什么?就像是:
from("direct:myRoute2")
.from("sftp://user@...")
.autoStartup(false)
?
这是行不通的。在手动 JMX 触发器之后,没有文件被 ftp 读取。我猜这两个“from”启动路由并行工作,因此启动“direct:myRoute2”不会触发FTP。
Kann 我把 FTP-URI 放在另一个组件中,而不是“from”,在 from("direct:myRoute2") 之后启动 FTP-Read?
BTW:这是一条单独的路线,与其他路线没有联系。
谢谢
最佳答案
你需要的是 Poll Enrich:
from("direct:myRoute2")
.pollEnrich("ftp://localhost")
.to("mock:result");
现在触发直接(无论您发送给它什么)并且 ftp 使用者启动。
关于ftp - Apache Camel FTP - 如何手动启动路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30187260/