其他分享
首页 > 其他分享> > 春天-在哪里可以找到SqsListener

春天-在哪里可以找到SqsListener

作者:互联网

我们正在尝试使用spring-cloud-aws从AWS SQS接收消息

我们希望使用注释接收消息.在春季documentation,令人困惑.

下面,他们声明使用MessageMapping和QueueMessageHandler批注.

Annotation-driven listener endpoints are the easiest way for listening
on SQS messages. Simply annotate methods with MessageMapping and the
QueueMessageHandler will route the messages to the annotated methods.

但是在示例中,使用了@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的消息吗?

解决方法:

它似乎未包含在Spring Cloud AWS的1.0.4版本中,但是使用1.1.0.RC1时我能够成功导入SqsListener.

您需要添加:

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")
}

注意,我还没有测试它是否可以实际使用SQS消息,但至少可以解决依赖关系.

标签:amazon-web-services,spring-cloud,amazon-sqs,spring
来源: https://codeday.me/bug/20191027/1942841.html