【发布时间】:2019-06-26 06:49:42
【问题描述】:
我使用 groovy DSL 创建了一个骆驼 (2.20.1) 路由。我需要对 2 个端点使用多播,即。 ftps 和文件。如果路由的顺序是 ftps 和文件,则文件是写入 ftp 服务器上的属性,但在文件系统上写入的是空文件(大小为 0 字节)。如果我颠倒顺序,即文件,然后是 ftps,则文件将正确写入文件系统,而空文件将写入 ftp 服务器。 它在 Apache Mina FTP 服务器上运行良好,但在客户端 ftp 服务器上运行正常。
我已经尝试了两种多播选项:
.to("ftps:....").to("file:...")
还有
.to("ftps:...").to("file:..."))
也试过parallelProcessing(),结果还是一样。
camelContext.addRoutes(new RouteBuilder() {
def void configure() {
from("file:///home/xyz/?fileName=file.txt&charset=utf-8&noop=true")
.multicast()
.to("ftps://localhost:21/files?username=anonymous&password=anonymous&binary=true&fileName=file.txt&passiveMode=true&fileExist=Fail")
.to("file://${directory}?fileName=\${file:name}-\${date:now:yyyyMMddHHmmssSSS}")
}
})
我希望多播应该将相同的内容写入两个端点而不会丢失数据。
【问题讨论】: