2016-07-16 6 views
2

Я использую AmazonSQS & Spring Boot (spring-cloud-aws-messaging). Я настроил прослушиватель сообщений для получения сообщений из очереди с помощью аннотации @SqsListener.Настроить имя очереди SQS Amazon в Spring Boot

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

Это очень простой подход, но я не нашел способ сделать загрузку имя очереди из конфигурационного файла, потому что у меня есть разные среды. Любые идеи по этому поводу?

ответ

4

Какая версия spring-cloud-aws-messaging вы используете? Версия 1.1 должна позволить вам использовать местозаполнитель в качестве имени очереди, например.

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

Тогда в ваших APPLICATION- окр .properties файлов вы можете поместить различные значения. Например, в application-dev.properties:

sqs.queue.indexer=devIndexerQueue 

и application-production.properties

sqs.queue.indexer=indexerQueue 
+0

Отлично! Оно работает. Я использую версию 1.1.0.RELEASE. – nicolas

 Смежные вопросы

  • Нет связанных вопросов^_^