2016-03-16 9 views
2

Мы пытаемся использовать spring-cloud-aws получать сообщения от AWS SQSГде я могу найти SqsListener

Мы хотели бы получать сообщения с помощью аннотаций. Весной documentation, это сбивает с толку.

Ниже они заявили, что используют аннотацию MessageMapping и QueueMessageHandler.

Конечные точки прослушивателя, обработанные аннотациями, являются самым простым способом прослушивания в сообщениях SQS. Просто аннотируйте методы с MessageMapping, а QueueMessageHandler направит сообщения к аннотированным методам.

Но в образце используется @SQSListener.

@SqsListener("queueName") 
public void queueListener(Person person) { 
    // ... 
} 

Я искал @SqsListener и обнаружил, что она используется в тестовых классах как here. Поэтому мы попытались импортировать, org.springframework.cloud.aws.messaging.listener.annotation.SqsListener. К сожалению, этот класс аннотации недоступен в последней версии.

Является ли org.springframework.cloud.aws.messaging.listener.annotation.SqsListener, который я использую, является правильным? Или он еще не представлен в выпущенной версии? Если не выпущено, я могу использовать @MessageMapping для получения сообщений от SQS?

+0

@Alian - У вас есть какие-либо подсказки? – sag

ответ

2

Это, как представляется, не будут включены в выпуске Spring Cloud AWS 1.0.4, однако я был в состоянии успешно импортировать SqsListener при использовании 1.1.0.RC1

Вам нужно добавить:

dependencyManagement { 
    imports { 
     mavenBom 'org.springframework.cloud:spring-cloud-aws:1.1.0.RC1' 
     mavenBom "org.springframework.boot:spring-boot-starter-parent:1.3.3.RELEASE" 
    } 

Кроме того зависимость обмена сообщениями должна быть добавлена ​​(и у меня привод тоже включены):

dependencies { 
    compile("org.springframework.cloud:spring-cloud-starter-aws") 
    compile("org.springframework.cloud:spring-cloud-aws-messaging") 
    compile("org.springframework.boot:spring-boot-starter-actuator") 
} 

Заметь, я не проверял, чтобы увидеть, если он на самом деле может потребить сообщение о SQ S, но, по крайней мере, зависимость разрешима.

0

Теперь @SqsListener доступен с 1.1.0.RELEASE.

2

Я использую 1.1.0.RELEASE, это зависимостей у меня есть:

compile("org.springframework.boot:spring-boot-starter:1.3.5.RELEASE") 
compile("org.springframework.cloud:spring-cloud-starter-aws-messaging:1.1.0.RELEASE") 

Я попробовал оба аннотаций @SqsListener и @MessageMapping оба прекрасно работают. SqsListener является специализацией аннотации MessageMapping, которая добавляет дополнительное свойство, политику удаления.

Я предполагаю, что документация должна быть обновлена, я тоже смутился.

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