我有一个springboot微服务,它监听amazonsqs队列。侦听器的配置如下:
@SqsListener(value = "${sqs.queue.name}", deletionPolicy = ON_SUCCESS)
public void queueListener(Message message) throws Exception {
// some logic here
}
一切正常,但有时由于我不能理解的原因(没有例外或任何事情),我的微服务只是停止接收消息。根据amazonsqs的说法,控制台消息开始堆积在队列中,没有人阅读它们。
如果我重新部署微服务,所有堆积的消息都会很快得到处理。在这个问题再次出现之前,一切都暂时正常。
我的想法是实现一些cron任务来监视到sqs的连接。如果连接丢失(如果一开始是这样的话),我会重新建立它。
那么,有没有一种方法可以连接到sqs,而不是在应用程序启动时而是在运行时开始侦听队列呢?
我使用的是SpringBoot2.4.0。我也有这些依赖关系:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-aws-messaging</artifactId>
<version>1.2.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-aws-autoconfigure</artifactId>
<version>1.2.2.RELEASE</version>
</dependency>
暂无答案!
目前还没有任何答案,快来回答吧!