Apache camel Camel文件端点-获取文件名

Apache camel Camel文件端点-获取文件名,apache-camel,Apache Camel,我有一条骆驼路线: from("file:///u01/www/images/nonprofits-test?move=.done&preMove=.processing&filter=#nonpFileFilter&minDepth=2&recursive=true") 稍后在路由中,我需要访问源文件名。我如何获得这些信息?所有标题都包含类似${file:name}的信息,但不包含实际的文件名 提前谢谢 基本问题是,在使用grails运行Camel时,在中没有

我有一条骆驼路线:

from("file:///u01/www/images/nonprofits-test?move=.done&preMove=.processing&filter=#nonpFileFilter&minDepth=2&recursive=true")
稍后在路由中,我需要访问源文件名。我如何获得这些信息?所有标题都包含类似
${file:name}
的信息,但不包含实际的文件名

提前谢谢

基本问题是,在使用grails运行Camel时,在中没有正确计算简单语言。这将在Camel用户列表中进一步讨论。

有一个名为“CamelFileName”的头文件存储了此信息


有关更多详细信息,请参见标题部分…

如果您的简单语言不起作用,可能是因为您没有使用
标记,请尝试下面的方法

     <route id="movedFailedFileForRetry">
        <from uri="file:///opt/failed?delete=true" />
        <log loggingLevel="INFO" message="Moving failed file ${header.CamelFileName} for retry" />
        <choice>
            <when>
            <simple>${headers.CamelFileName} == 'file1.txt'</simple>
            <to uri="file:///opt/input1" />
            </when>
            <otherwise>
            <to uri="file:///opt/input2" />
            </otherwise>
        </choice>
     </route>

${headers.CamelFileName}=='file1.txt'

希望能有帮助

Apache邮件列表中也讨论了这些问题:。当你在多个频道同时发布同一个问题而不告诉ppl时,这很烦人。克劳斯·易卜生只是想得到答案。男士:D我下次会先发布列表。问题是,当我使用preMove=。处理时,CamelFileName被删除了。。。不知道为什么,但它正在工作。不好fix@chrislovecnm如果标准头被删除,那么您可以复制头并将其存储为新的头属性。我遇到的问题是,在grails中,简单语言没有得到正确的计算