gpt4 book ai didi

java - Spring Cloud -SQS

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:13:28 25 4
gpt4 key购买 nike

我正在尝试获得一个使用 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 对象。但是它提示找不到转换器。

有没有人遇到过这个?

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

最佳答案

仅当 contentType header 在 SQS 消息上设置了值 application/json 时才使用 Jackson。否则转换器不知道消息的有效负载中包含什么类型的内容,因此无法选择正确的转换器。

如果您像 reference application 中那样使用 QueueMessagingTemplate#convertAndSend , contentType header 将自动设置。

关于java - Spring Cloud -SQS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27723439/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com