加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – Spring Cloud – SQS

发布时间:2020-12-14 06:03:31 所属栏目:Java 来源:网络整理
导读:我正在尝试使用 Spring Cloud框架来处理一个简单的队列处理程序.我成功地让消息处理程序轮询队列,但是.我看到的问题是,当我向队列发布消息时,我的处理程序无法将有效负载解组到所需的java对象中. @MessageMapping("MyMessageQueue")@SuppressWarnings("Unuse
我正在尝试使用 Spring Cloud框架来处理一个简单的队列处理程序.我成功地让消息处理程序轮询队列,但是.我看到的问题是,当我向队列发布消息时,我的处理程序无法将有效负载解组到所需的java对象中.
@MessageMapping("MyMessageQueue")
@SuppressWarnings("UnusedDeclaration")
public void handleCreateListingMessage(@Headers Map<String,String> headers,MyMessage message) {
    //do something with the MyMessage object
}

我得到的错误是

No converter found to convert to class MyMessage

据我了解,@ MessageMapping应该使用Jackson将我的JSON有效负载解组为MyMessage对象.然而它抱怨它找不到转换器.

有人遇到过这个吗?

我正在使用Spring Cloud的1.0.0.BUILD-SNAPSHOT版本.

解决方法

只有在SQS消息上使用值application / json设置了contentType标头时才使用Jackson.否则,转换器不知道消息的有效负载中包含什么类型的内容,并且不能选择正确的转换器.

如果您在reference application中使用QueueMessagingTemplate#convertAndSend,则会自动设置contentType标头.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读