我对骆驼有点陌生,所以如果这是个愚蠢的问题,请原谅我!
在“骆驼”一书中,我列出了与队列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"); 据我理解,路由是同步执行的(设计为异步工作的特定组件除外)。基于这一理解,我认为这条路线符合这些要求。
这能做我想做的吗?为什么或者为什么不?
https://stackoverflow.com/questions/19454043
复制相似问题