小编Jon*_*lli的帖子

Spring-boot + SQS 在 AWS 不稳定后无法恢复

在我们的应用程序中,我们当前使用 JmsListener + AWS SQS。它运行良好一段时间,但是当发生一些AWS不稳定(例如:服务不可用)时,它的消费者尝试通过关闭并重新启动来恢复,但成功启动后不再消费消息。

堆栈跟踪:

        2018-11-21 13:16:33.941  WARN 27862 --- [enerContainer-3] o.s.j.l.DefaultMessageListenerContainer  : Execution of JMS message listener failed, and no ErrorHandler has been set.

    javax.jms.JMSException: AmazonServiceException: deleteMessageBatch. RequestId: null
    HTTPStatusCode: 503 AmazonErrorCode: 503 Service Unavailable
        at com.amazon.sqs.javamessaging.AmazonSQSMessagingClientWrapper.handleException(AmazonSQSMessagingClientWrapper.java:397)
        at com.amazon.sqs.javamessaging.AmazonSQSMessagingClientWrapper.deleteMessageBatch(AmazonSQSMessagingClientWrapper.java:151)
        at com.amazon.sqs.javamessaging.acknowledge.RangedAcknowledger.action(RangedAcknowledger.java:145)
        at com.amazon.sqs.javamessaging.acknowledge.BulkSQSOperation.bulkAction(BulkSQSOperation.java:61)
        at com.amazon.sqs.javamessaging.acknowledge.RangedAcknowledger.acknowledge(RangedAcknowledger.java:70)
        at com.amazon.sqs.javamessaging.message.SQSMessage.acknowledge(SQSMessage.java:883)
        at org.springframework.jms.listener.AbstractMessageListenerContainer.commitIfNecessary(AbstractMessageListenerContainer.java:763)
        at org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:663)
        at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:317)
        at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:255)
        at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1166)
        at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1158)
        at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:1055)
        at java.lang.Thread.run(Thread.java:748)
    Caused by: com.amazonaws.services.sqs.model.AmazonSQSException: null (Service: AmazonSQS; Status Code: 503; Error Code: 503 Service Unavailable; Request …
Run Code Online (Sandbox Code Playgroud)

java amazon-sqs amazon-web-services spring-jms spring-boot

5
推荐指数
0
解决办法
2595
查看次数