监视到sqs的连接,如果丢失则重新连接

d8tt03nd  于 2021-06-29  发布在  Java
关注(0)|答案(0)|浏览(285)

我有一个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>

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题