首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >spring云AWS SQS侦听器问题

spring云AWS SQS侦听器问题
EN

Stack Overflow用户
提问于 2017-01-27 11:23:25
回答 2查看 4.8K关注 0票数 1

我正在准备演示程序,听亚马逊的SQS.Below是我的代码。

xml配置

代码语言:javascript
复制
<aws-messaging:annotation-driven-queue-listener  amazon-sqs="sqsClient" max-number-of-messages="10" wait-time-out="20" visibility-timeout="100" />

UserServiceListenr.java

代码语言:javascript
复制
@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 queue.when上放置了2条消息,我尝试使用这个演示程序获取消息,Messages_in_flight列显示在我的sqsListener方法中,几分钟后消息显示在sqsListener控制台中的Messages_available列中。

下面是我在运行程序时得到的例外。

代码语言:javascript
复制
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}

如果有线索的话有什么问题吗?

EN

回答 2

Stack Overflow用户

发布于 2017-03-14 22:05:00

当您看到该消息移动到列Messages_in_flight时--这意味着该消息已被消费者接收,但对于该特定消息的成功处理的确认仍未收到。

因此,原因可能是: 1)在处理来自SQS的消息时出现错误/异常,2) Spring找不到合适的ArgumentResolver将收入消息从SQS转换为bean。我看到你在使用你的自定义bean --“消息”

您可以查看文档,第5.2.5节

票数 0
EN

Stack Overflow用户

发布于 2020-04-29 18:58:19

我有一个类似的问题,并能够解决它。医生们对这件事不清楚。我把它加在这里,以防有人以后看到这个。

首先,当您将一个项插入队列中时,您需要设置一些附加的消息属性,以便Spring知道将其放入bean中。如果您在GUI中设置名称: contentType类型: String : application/json时添加消息到队列中,那么spring将尝试使用Jackson对其进行传递。

其次,我无法让@SqsListener使用非字符串参数,除非它在一个带有@Controller注释的类中。对于非控制器类,我必须添加第二个方法参数(@Header("SenderId") String senderId为我工作),然后它正确地路由。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41892860

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档