7

我有一个 Java Maven 项目,我用它org.apache.camel来获取邮件和附件信息。

<dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-mail</artifactId>
        <version>2.17.0</version>
</dependency>

给定一个Exchange对象,我使用此代码获取附件:

Message message = exchange.getIn().copy();
message.getAttachments()

WheremessageCopy.getAttachments()返回Map<String, DataHandler>映射attachment-file-NameDataHandler.

此代码在邮件具有单个附件或名称不同的附件时有效。当我有两个同名的附件时,由于映射结构,只返回一个(另一个被简单地覆盖)。

有没有人有同样的问题和/或知道另一种方法来获得两个(或更多)同名附件?

谢谢

4

1 回答 1

1

我记得在我之前的项目中遇到过这个问题。我认为解决方法是将原始消息拆分为 N 个单独的消息,以便您可以处理每个消息,即使它们具有相同的名称。

看看骆驼SplitAttachmentsExpression。可以在此处找到现有的单元测试。

于 2018-12-17T20:20:01.950 回答