我们正在尝试使用春云从AWS接收消息。
我们希望使用注释接收消息。在春季的文档,这是令人困惑的。
下面,他们声明使用MessageMapping和QueueMessageHandler注释。
注释驱动的侦听器端点是侦听SQS消息的最简单方法。只要用MessageMapping注释方法,QueueMessageHandler就会将消息路由到带注释的方法。
但是在示例中,使用了@SQSListener。
@SqsListener("queueName")
public void queueListener(Person person) {
// ...
}我搜索@SqsListener,发现它正在像这里这样的测试类中使用。所以我们试着导入,org.springframework.cloud.aws.messaging.listener.annotation.SqsListener。不幸的是,这个注释类在最新版本中不可用。
我正在使用的org.springframework.cloud.aws.messaging.listener.annotation.SqsListener是正确的吗?还是它还没有在发布版本中出现?如果没有发布,我可以使用@MessageMapping接收来自SQS的消息吗?
发布于 2016-04-05 19:00:38
它似乎没有包含在Spring的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的消息,但至少依赖关系正在解决。
发布于 2016-06-02 15:11:19
我使用的是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注释的一个专门化,它添加了一个附加属性,即删除策略。
我猜这些文档必须更新,我也很困惑。
发布于 2016-05-27 07:23:06
现在@SqsListener提供1.1.0.RELEASE。
https://stackoverflow.com/questions/36037410
复制相似问题