【问题标题】:Set destination location with respect to file extension at run time在运行时根据文件扩展名设置目标位置
【发布时间】:2019-04-23 04:54:34
【问题描述】:

我有一个要求,我想根据源位置的文件扩展名设置目标位置,例如,在源位置我有以下文件 abc.txt、mno.txt、pqr.csv 和 xyz.pdf .一旦适配器开始轮询,abc.txt 和 mno.txt 将移动 txtDesinationPath pqr.cv 将不得不移动 csvDestinationPath 和 xyz.pdf 将不得不分别移动 pdfDesinationPath。您能否建议我一些逻辑来实现这一点。

【问题讨论】:

    标签: spring-boot spring-integration spring-integration-aws


    【解决方案1】:

    什么技术?您标记了 aws - 您是指 s3、sns 吗?

    例如S3 处理程序具有 bucketExpression,这是针对消息评估的 SpEL 表达式。

    【讨论】:

    • 是的。它仅来自 S3 存储桶的轮询。实际上,它将从 S3 存储桶内的 IN 文件夹之一进行轮询。示例:{bucketName/IN}。在 IN 文件夹位置有不同类型的文件。根据文件扩展名,它必须在本地机器上传输不同的目标文件夹。为此使用 s3 入站适配器。
    • 所以,正如我所说,使用bucketExpression 选择存储桶。
    • 我试过这个,但不是轮询 IN 文件夹中的所有文件,而是将 IN 文件夹复制到本地目录。使用 remote-directory-expression="'${bucketName/IN}'"
    • 您需要编辑您的问题以显示您的配置并准确说明您的问题是什么。
    • 嗨,Gary,正如您所建议的,我已经为每个目的地定制了 bucketExpression。现在它工作正常
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-17
    • 1970-01-01
    • 1970-01-01
    • 2016-11-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多