【发布时间】:2015-08-26 01:27:14
【问题描述】:
我正在使用 Spring Cloud AWS (1.0.1.RELEASE) 和 Spring Boot 来运行 SQS 消费者。应用程序运行良好,但是当它失去网络连接时(例如,如果我在笔记本电脑上运行时关闭 WIFI),我在控制台上看到错误并且应用程序永远无法恢复。它只是挂在那里并且在网络可用后不会重新连接。我必须杀了它并把它提出来。如何强制它自行恢复?
// Spring Boot entry point:
public static void main(String[] args) {
SpringApplication.run(MyConsumerConfiguration.class, args);
}
// Message Listener (A different class)
@MessageMapping(value = "myLogicalQueueName" )
public void receive(MyPOJO object) {
}
我在控制台看到的错误:
线程“simpleMessageListenerContainer-1”com.amazonaws.AmazonClientException 中的异常:无法执行 HTTP 请求:sqs.us-east-1.amazonaws.com 在 com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:473) 在 com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:297) 在 com.amazonaws.services.sqs.AmazonSQSClient.invoke(AmazonSQSClient.java:2422) 在 com.amazonaws.services.sqs.AmazonSQSClient.receiveMessage(AmazonSQSClient.java:1130) 在 com.amazonaws.services.sqs.AmazonSQSAsyncClient$23.call(AmazonSQSAsyncClient.java:1678) 在 com.amazonaws.services.sqs.AmazonSQSAsyncClient$23.call(AmazonSQSAsyncClient.java:1676) 在 java.util.concurrent.FutureTask.run(FutureTask.java:266) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 在 java.lang.Thread.run(Thread.java:745
【问题讨论】:
-
嗨 Mohamed,您介意分享您的项目吗?我正在努力让 Spring Cloud AWS 的 Spring Boot 应用程序从 AWS SQS (stackoverflow.com/questions/37297688/…) 中读取。谢谢!
标签: spring amazon-web-services amazon-sqs spring-cloud