Apache camel 是否可以在收到事件后读取文件?

Apache camel 是否可以在收到事件后读取文件?,apache-camel,activemq,Apache Camel,Activemq,我正在使用带有内置驼峰路由的ActiveMQ代理。我想在收到事件后读取文件 <pseudo> from Event A read File XY to Event B with Body from File XY </pseuod> 来自事件A 读取文件XY 使用文件XY中的正文创建事件B 我尝试根据事件从临时目录中移动文件,但只写入了事件B。日志文件中没有异常或错误消息 骆驼路线示例 使用单个文件的工作解决方案更新: 骆驼路线示例 file:///tm

我正在使用带有内置驼峰路由的ActiveMQ代理。我想在收到事件后读取文件

<pseudo>
 from Event A
 read File XY
 to Event B with Body from File XY
</pseuod>

来自事件A
读取文件XY
使用文件XY中的正文创建事件B
我尝试根据事件从临时目录中移动文件,但只写入了事件B。日志文件中没有异常或错误消息


骆驼路线示例
使用单个文件的工作解决方案更新


骆驼路线示例
file:///tmp/a?fileName=file1

您需要为此使用内容丰富器。这正是你要找的

<route>
    <from uri="activemq:example.A"/>
    <pollEnrich>
        <constant>file://tmp/a?delete=true</constant>
    </pollEnrich>
    <to uri="activemq:example.B"/>
</route>

file://tmp/a?delete=true
请注意,对于camel版本2.15或更高版本

PollRich不访问当前Exchange中的任何数据 意味着在轮询时,它无法使用您可能需要的任何现有标头 我们已经开始交换了。例如,您不能在中设置文件名 Exchange.FILE_名称头并使用pollEnrich仅使用该名称 文件为此,必须在端点URI中设置文件名


你好您需要使用一个EIP来允许您使用第二个“发件人”作为文件使用者。请看这里:这是为骆驼2.15或更高版本的未来读者准备的-不要忘记unix文件系统上的root/on
file:///tmp/a?fileName=dummy.txt
@ClausIbsen很抱歉我没提到这一点。谢谢你指出这一点