重用使用者从同一端点获取额外内容

时间:2017-08-21 10:29:29

标签: apache-camel camel-ftp

我有一个Apache Camel路由,其目的是获取文档中链接的xml文档和文件。

<route id="route-ftp">
     <from uri="ftp://foo@server:21/data?password=xxx&amp;include=.*.xml"/>
     <to uri="myBean"/>
 </route>

当它到达myBean时,我想解析文件并使用相同的ftp设置来获取xml文件中列出的文件。 或者也许使用xpath同时获取所有内容。

<root>
    <article>
        <headline>Headline</headline>
        <image src="images/cat.jpg"/>
    </article>
</root>

文件名取自上面的xml图像标记和src属性。

然后,我想将原始文件与我的图像一起发送到包中。

我无法找到解决问题的正确方法。

1 个答案:

答案 0 :(得分:2)

我可能会这样做。

  1. 根据文件的结构,我会像你一样使用它。然后我会分割每行的主体(假设每行包含一个文件名)。使用分离器EIP完成拆分。现在每个正文都包含文件名。

  2. 然后我会使用Camel的dynamicTo来使用ftp参数丰富路径和文件。您可以保存ftp参数属性,使它们始终相同。

  3. 通过这种方式,您可以获取列表,遍历列表并获取列表中每一行的文件。