我有一个处理器,它将一个未编组的文件放在一个自定义对象中。在此之后,我的对象列表将保存到交换中。 在此之后,我需要进行第二次交流。问题是我不能在路线中两次使用“来自”。我该如何解决这个问题?
处理单个代码的代码如下:
from("file://src/test/resources?fileName=Calendar.ics&delete=false&noop=true")
.unmarshal("ical")
.process(icsToBeanProcessor)
.end();
答案 0 :(得分:0)
也许你可以稍微改进设计。而不是指定文件名而是使用目录。处理目录中存在的所有文件,并将它们设置在标题属性中。像
这样的东西from("file://src/test/resources?delete=false&noop=true")
.unmarshal("ical")
.process(icsToBeanProcessor) // in your icsToBeanProcessor set a header property as content.fileName as the output of your unmarshaller bean
.end();
此外,通过使用正则表达式指定文件名,您可以更具体。对于您的情况,只选择那些以“ics”结尾的文件。有关详细信息,请参阅http://camel.apache.org/file.html。