我对骆驼有点新鲜,如果这是一个愚蠢的问题,请原谅我!
在Camel中,我列出了一个针对队列的竞争消费者列表queue-1
。我希望每个消费者在尝试读取队列之间等待1小时,但是一旦一小时过去,每个消费者应该持续轮询直到收到消息。收到消息后,它应该处理它,然后等待一小时再尝试另一次读取,依此类推。
这是我设置的路线:
from("aws-sqs://queue-1?accessKey=ABC&secretKey=XYZ&maxMessagesPerPoll=1")
.unmarshal().base64()
.unmarshal().serialization()
.throttle(1)
.timePeriodMillis(TimeUnit.HOUR.toMillis(1))
.bean(new ProcessorBean())
.marshal().serialization()
.marshal().base64()
.to("aws-sqs://queue-2?accessKey=ABC&secretKey=XYZ");
我的理解是路由同步执行(specific components designed to work asynchronously除外)。基于这种理解,我相信这条路线满足了这些要求。
这会做我想要的吗?为什么或为什么不呢?