【发布时间】:2017-06-13 01:39:54
【问题描述】:
我正在准备从 Amazon SQS 监听的演示程序。下面是我的代码。
xml 配置
<aws-messaging:annotation-driven-queue-listener amazon-sqs="sqsClient" max-number-of-messages="10" wait-time-out="20" visibility-timeout="100" />
UserServiceListenr.java
@Configuration
@EnableSqs
@Component
public class UserServiceListenr {
@SqsListener(value = "CMR", deletionPolicy = SqsMessageDeletionPolicy.ON_SUCCESS)
public void myQueueListener(Message message) throws Exception{
try {
System.out.println("Message Listen start");
System.out.println("Message part "+message);
}catch(Exception e){
System.out.println(" message Exception " + e);
}
}
}
我在 SQS 队列上放了 2 条消息。当我尝试使用此演示程序获取消息时,消息在我的 AWS 控制台中显示 Messages_in_flight 列。但消息没有到达我的 sqsListener 方法,几分钟后消息显示到 AWS 中的 Messages_available 列控制台。
以下是我运行程序时遇到的异常。
QueueMessageHandler:294 - 1 message handler methods found on class com.sophos.cmr.demo.UserServiceListenr: {public void com.sophos.cmr.demo.UserServiceListenr.myQueueListener(java.lang.String) throws java.lang.Exception=org.springframework.cloud.aws.messaging.listener.QueueMessageHandler$MappingInformation@5f0e9815}
如果有任何线索,会出现什么问题?
【问题讨论】:
标签: java spring-cloud amazon-sqs spring-cloud-aws