gpt4 book ai didi

java - Apache Camel 文件格式

转载 作者:行者123 更新时间:2023-11-30 03:43:37 27 4
gpt4 key购买 nike

我正在开发一个自动将文件上传到SFTP服务器的项目。我的项目现已投入生产并按照初始要求规范运行。我的项目从预定义位置获取一个 txt 文件。现在,由于 SFTP 服务器的大小限制,现在必须在上传之前对 txt 文件进行压缩。

我现在想更改我的 Camel 路线,不仅可以满足 txt 文件的要求,还可以满足 xls、csv 和 Zip 文件的要求。

我该怎么做?

目前我的路线如下:

from("quartz://myscheduler?cron={{cron}}")
.pollEnrich("file:{{pickuplocation}}?moveFailed=error/${file:name.noext}_${date:now:yyyyMMddHHmmssSSS}.${file:ext}&move=SFTPCompleted/${date:now:MMM}-${date:now:yyyy}/${file:name.noext}_${date:now:yyyyMMddHHmmssSSS}.${file:ext}")
.setHeader("CamelFileName", simple("${file:name}"))
.setHeader("RouteID",constant("Route ID"))
.multicast()
.to("sftp://"+username+"@"+SftpLocation+"password="+password+"&stepwise=false&disconnect=true&fileName=${file:name.noext}.txt")
.end()

TIA

最佳答案

我不明白你为什么使用如此复杂的方式来复制文件。如果我没记错的话你可以使用这个:

from("file:{{pickuplocation}}?moveFailed=error/${file:name.noext}_${date:now:yyyyMMddHHmmssSSS}.${file:ext}&move=SFTPCompleted/${date:now:MMM}-${date:now:yyyy}/${file:name.noext}_${date:now:yyyyMMddHHmmssSSS}.${file:ext})
.to("sftp://"+username+"@"+SftpLocation+"password="+password+"&stepwise=false&disconnect=true")

这将拾取pickupLocation目录中的任何文件,并且FTP组件会将同名的文件写入远程服务器。

您可以使用文件组件的“include”参数来设置正则表达式以仅匹配某些文件类型:http://camel.apache.org/file2.html

关于java - Apache Camel 文件格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26274685/

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