在我的应用程序中,我根据给定的数据结构查询某些标识号的服务。对于每个返回的标识号,我想根据具有标识号的查询数据向同一收件人发送邮件消息:
from("direct:querySource")
.enrich("direct:executeQueryIds", new IdWithDataAggregator())
// here I stuck - want to send the original received message from
// the querySource n (executeQueryIds) times enrich by iterating
// over executeQueryIds result
.to("smtp://...")
.end()
我尝试使用split
根据某个邮件标题拆分邮件,但在拆分中我只将拆分的标头值作为正文,而不是原始邮件。使用聚合器作为第二个参数进行split
调用时效果不佳,因为第二次交换是null
。
我还尝试了loop
构造,但我觉得应该有一种更方便,更自觉的方法。
提前致谢!
答案 0 :(得分:2)
如果您想将单个邮件转换为多条邮件,您仍然希望使用拆分器。你可能想做这样的事情:
from(START)
.split(). method(SplitBean.class, "splitMessage")
.to(FINISH);
您可以将标头传入bean方法并手动拆分消息。