所以我将SQS与Apache Camel结合使用。某些消息引用了s3对象。我需要将此消息路由到另一个队列,但问题是我必须处理与此消息s3对象关联而不修改消息。
工作流程
queue-1
option
,则将邮件传递给queue-2
option
,则将邮件传递给queue-3
。 我遇到了.process
方法修改邮件正文的问题。
from("queue-1")
.choice()
.when(header("option").isNotNull())
.process(new Processor() {
@Override
public void process(Exchange exchange) throws Exception {
//FETCH S3 OBJECT }
})
.process(new Processor() {
@Override
public void process(Exchange exchange) throws Exception {
//CHECK IF OBJECT HAS SOME OPTIONS
}
}).to("queue-2")
.when(header("option").isNull())
.process(new Processor() {
@Override
public void process(Exchange exchange) throws Exception {
//CHECK IF BODY HAS SOME OPTIONS
}
}).to("queue-3)
.otherwise()
.log("Unknown");
那么是否存在可以存储消息而无需修改消息的解决方案?