【问题标题】:dynamic input/output folder location in Camel's file componentCamel 文件组件中的动态输入/输出文件夹位置
【发布时间】:2014-03-12 05:19:38
【问题描述】:

根据https://camel.apache.org/file2.html,文件组件不能配置动态输入/输出文件夹位置?

是否有任何解决方法/替代方法?

谢谢。

问候 Senthil Kumar Sekar

【问题讨论】:

标签: file apache-camel


【解决方案1】:

对于文件使用者

您可以使用客户过滤器动态选择要提取的目录/文件。但是起始目录只配置一次(硬编码)。

要改变这一点,您需要停止路线,更改目录,然后重新开始路线 - 如果您想尝试那个方向。

对于文件制作者

文件名是完全动态的,你可以设置一个名字作为你想要的文件头。有关详细信息,请参阅文档。

【讨论】:

  • OP 想要一个动态输出 文件夹 位置;只有文件端点的 fileName 部分可以是动态 AFAICT。
  • 请注意,如果您使用 CAMEL FTP/SFTP/FTPS 组件(v2.16.3,可能是其他版本)构建动态 URI,您必须确保 URI 的所有可变部分都作为 Header 属性传递,而不是URI 选项;每次发送时,您的 URI 必须完全相同(可以使用 ${} 道具)。实际上,每次传输都会在缓存中记录一个动态端点,如果 URI 相差一个字符,则分配一个新对象。这个错误issues.apache.org/jira/browse/CAMEL-10281 会炸毁你的堆,记录的缓存限制(默认为 1000)不会被强制执行。
【解决方案2】:

您也可以使用标题CamelFileName 来动态设置目录。斜线会变成目录。

示例:CamelFileName = "directory/dyn_subdirectory_n/myfilename.txt" 将被放入位于"directory" 的目录"dyn_subdirectory_n" 中。文件名将是"myfilename.txt"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-09
    • 2014-10-21
    • 1970-01-01
    • 2012-10-18
    相关资源
    最近更新 更多