无法使用camel聚合器接收多封电子邮件

时间:2015-07-13 16:33:53

标签: java email apache-camel apache-servicemix

我真的不确定如何正确地说出来,但我会尽我所能。

我想通过骆驼路线向n个收件人发送n封电子邮件,并让这n个收件人向发件人发送批准,这是通过在主题中使用世界“批准”来完成的,此时,我会触发一个过程

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

我正在使用代码尝试执行后半部分。

struct GameObject {
Point **position;
// array of pointers to object points
Point *acceleration;
Point *velocity;
double max_speed;
double max_force;
}

shape = new Shape(Geometry.Quads,
Vertex(object.position[0].x, object.position[0].y),
Vertex(object.position[1].x, object.position[1].y),
Vertex(object.position[2].x, object.position[2].y),
Vertex(object.position[3].x, object.position[3].y))

// rotate shape to face velocity here
shape.move(object.velocity.x, object.velocity.y);

我知道这段代码不会完全符合我的要求,但这就是我现在正在使用的内容。我将.jar放入ServiceMix

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

我已经尝试查找错误,但我没有得到太多帮助。很明显它来自标题或聚合策略,但同样,我还没有找到对我的情况有用的东西。

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

如果我留下任何有用的东西,我道歉。随意提问。

1 个答案:

答案 0 :(得分:3)

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

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