[英]Where can I find SqsListener
我們正在嘗試使用spring-cloud-aws從AWS SQS接收消息
我們希望使用注釋接收消息。 在春季文檔中 ,它令人困惑。
下面,他們聲明使用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的消息嗎?
它似乎沒有包含在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的消息,但至少依賴是解決。
我使用的是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注釋的特化,它添加了一個附加屬性,即刪除策略。
我猜測文檔必須更新,我也很困惑。
現在@SqsListener可用1.1.0.RELEASE。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.