【发布时间】:2016-01-05 23:55:37
【问题描述】:
Apache Camel 2.15.2
我有一个这样的路由,消息被发送到 MyProcessor 但不会从 SQS 中删除,它们会在 30 秒内不可见,然后作为可用消息重新出现在 SQS 中。
from("aws-sqs://myqueue?amazonSQSClient=#myclientbean&waitTimeSeconds=20&maxMessagesPerPoll=10&visibilityTimeout=30&deleteAfterRead=true")
.to("seda:inbound-queue?waitForTaskToComplete=Never&concurrentConsumers=1")
.process(new MyProcessor());
如果我删除 SEDA 路由语句,它会按预期工作
from("aws-sqs://myqueue?amazonSQSClient=#myclientbean&waitTimeSeconds=20&maxMessagesPerPoll=10&visibilityTimeout=30&deleteAfterRead=true")
// COMMENT OUT AND SQS messages get deleted
// .to("seda:inbound-queue?waitForTaskToComplete=Never&concurrentConsumers=1")
.process(new MyProcessor());
【问题讨论】:
-
我遇到了类似的问题,但我收到此错误:CAMEL: 2.18.3 org.apache.camel.component.aws.sqs.SqsConsumer - 删除消息时出错。此异常被忽略..由以下原因引起:[com.amazonaws.services.sqs.model.AmazonSQSException - 请求必须包含参数 MessageHandle。 (服务:AmazonSQS;状态代码:400;错误代码:MissingParameter;com.amazonaws.services.sqs.model.AmazonSQSException:请求必须包含参数MessageHandle。(服务:AmazonSQS;状态代码:400;错误代码:MissingParameter;