gpt4 book ai didi

java - 使用camel聚合器接收多封电子邮件时遇到问题

转载 作者:行者123 更新时间:2023-12-01 22:14:25 32 4
gpt4 key购买 nike

我真的不知道如何正确表达,但我会尽力。

我想通过 Camel 路由向 n 个收件人发送 n 封电子邮件,并让这 n 个收件人向发件人发送批准,这是通过在主题中使用 world 'approve' 来完成的,此时,我会触发流程。

这个任务的前半部分已经完成,因为发送电子邮件在 Camel 中是一个相对简单的任务。接收也是如此。我的问题在于我想等待收到这 n 封电子邮件然后再继续。

我正在使用这个代码来尝试完成后半部分。

from("imaps://imap.gmail.com?username=emailaddress@gmail.com&" + 
"password=RAW(password)&searchTerm.subject=approve")
.aggregate(header("*"), new UseLatestAggregationStrategy())
.completionSize(2)
.process(myProcess);

我知道这段代码不能完全满足我的要求,但这是我现在正在使用的。当我将 .jar 放入 ServiceMix 时,我收到错误

org.apache.camel.CamelExchangeException: Invalid correlation key. Exchange[MailMessage:

我尝试查找错误,但没有得到太多有用的信息。很明显它来自 header 或聚合策略,但同样,我还没有找到任何对我的情况有用的东西。

有更好的方法吗?我觉得我的问题来自于不完全理解 Camel 的细微差别,所以很可能有一种更简单/更好的方法来实现这一点。如果没有,我错过了什么?

如果我遗漏了任何有用的内容,我深表歉意。欢迎提问。

最佳答案

如果您希望将任何消息分组在一起,您可以使用常量作为相关键,例如:

.aggregate(constant(true), new UseLatestAggregationStrategy())

关于java - 使用camel聚合器接收多封电子邮件时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31388733/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com