如何获取Apache Camel File2的相对路径段

时间:2017-09-26 21:42:43

标签: apache-camel

我正在尝试构建基于文件的集成,其中文件被转储到主目录的一个子目录中以进行处理。我需要获取子目录的名称以了解该文件所针对的客户端。如果我有:

/uploads/foo/bar.txt

我需要处理该文件并知道它是客户端“foo”。我不知道如何获取该部分并将其设置为处理bar.txt文件的处理器的标头。我已经拿到了文件和处理,现在我需要添加这篇文章。

任何人都有我的想法?

1 个答案:

答案 0 :(得分:2)

您可以在交易所的标题中获取大部分此类信息。在您使用该文件时,您可以使用以下项目:

  • CamelFileName:消耗文件的名称,作为相对文件路径 偏离端点上配置的起始目录。

  • CamelFileNameOnly:只有文件名(没有前导名称的名称) 路径)。

  • CamelFileAbsolute:一个布尔选项,指定是否使用 file表示绝对路径。通常应该是假的 相对路径。通常不应该使用绝对路径,但我们 添加到移动选项以允许将文件移动到绝对路径。但 也可以在其他地方使用。
  • CamelFileAbsolutePath:文件的绝对路径。对于亲戚 文件此路径改为保存相对路径。
  • CamelFilePath:文件路径。对于相对文件,这是起始目录+相对文件名。对于绝对文件,这是绝对路径。
  • CamelFileRelativePath:相对路径。
  • CamelFileParent:父路径。
  • CamelFileLength:包含文件大小的长值。
  • CamelFileLastModified:包含上次修改的日期值 文件的时间戳。

您可以使用以下示例作为指南查询这些标题以获取您要查找的信息:

<log message ="${header.CamelFileAbsolutePath}"/>

有关详细信息,请参阅Camel网站上的the file component documents