在Consumer中执行业务逻辑时发生异常时SQS消息被删除

时间:2016-11-04 09:24:32

标签: java spring amazon-web-services amazon-sqs

我们希望以sqs处理重试逻辑。如果我们的应用程序在执行业务逻辑时遇到异常,则消息应该在visibilityTimeOut之后保留在队列中。只有在重试计数= 10之后,才应将消息移动到deadLetterQueue。

但是在我们的应用程序中,如果我们在代码中出现异常,则会删除该消息。

以下是spring xml配置

<camel:to uri="http://google.com?bridgeEndpoint=true" />

消费者计划

<bean id="messageListenerContainer"
    class="org.springframework.jms.listener.DefaultMessageListenerContainer">
    <property name="connectionFactory" ref="connectionFactory" />
    <property name="destinationName" value="${aws.eventNotificationQueue}" />
    <property name="messageListener" ref="eventNotificationListener" />
    <property name="concurrentConsumers" value="5" />
    <property name="receiveTimeout" value = "5000"/>
    <property name="sessionAcknowledgeMode" value = "2"/>
</bean>

请帮我解决这个问题。

0 个答案:

没有答案