搜索

38.15. 如何使用附件分割邮件

download PDF

在这个示例中,我们消耗可能有多个附件的邮件。我们希望在每个单独附件使用 Splitter EIP 来单独处理附件。例如,如果邮件消息有 5 个附件,我们希望 Splitter 处理五个消息,每个消息都只有一个附件。要做到这一点,我们需要向 Splitter 提供自定义表达式,其中我们提供了一个 List<Message>,其中包含带有单个附件的五个消息。

该代码开箱即用了 camel-mail 组件中的 Camel 2.10 中的框。代码位于类: org.apache.camel.component.mail.SplitAttachmentsExpression您可以在此处 的源代码中找到。

在 Camel 路由中,您需要在路由中使用此表达式,如下所示:

如果使用 XML DSL,则需要在 Splitter 中声明一个方法调用表达式,如下所示

<split>
  <method beanType="org.apache.camel.component.mail.SplitAttachmentsExpression"/>
  <to uri="mock:split"/>
</split>

您还可以将附件分割为 byte[],以作为消息正文存储。这可以通过使用布尔值 true 创建表达式来实现

SplitAttachmentsExpression split = SplitAttachmentsExpression(true);

然后,将表达式与分割 EIP 搭配使用。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.