【问题标题】:Configure Amazon SQS queue name in Spring Boot在 Spring Boot 中配置 Amazon SQS 队列名称
【发布时间】:2016-11-19 07:28:41
【问题描述】:

我正在使用 AmazonSQS 和 Spring Boot (spring-cloud-aws-messaging)。我已经配置了一个消息侦听器来接收来自带有注释@SqsListener 的队列的消息。

@SqsListener(value = "indexerQueue", deletionPolicy = SqsMessageDeletionPolicy.ON_SUCCESS)
public void queueListener(String rawMessage) {
   ...
}

这是一种非常简单的方法,但我没有找到从配置文件加载队列名称的方法,因为我有不同的环境。在这方面有什么想法吗?

【问题讨论】:

    标签: java spring-boot amazon-sqs spring-cloud-aws


    【解决方案1】:

    您使用的是什么版本的spring-cloud-aws-messaging? 1.1 版应该允许您使用占位符作为队列名称,例如

    @SqsListener(value = "${sqs.queue.indexer}", deletionPolicy = SqsMessageDeletionPolicy.ON_SUCCESS)
    public void queueListener(String rawMessage) {
       ...
    }
    

    然后,在您的 application-env.properties 文件中,您可以放置​​不同的值。例如在 application-dev.properties

    sqs.queue.indexer=devIndexerQueue
    

    application-production.properties

    sqs.queue.indexer=indexerQueue
    

    【讨论】:

      猜你喜欢
      • 2021-10-15
      • 2017-04-12
      • 2016-01-18
      • 2019-04-11
      • 2014-06-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多