Spring Cloud - SQS

Sli*_*ihp 7 java spring amazon-sqs amazon-web-services spring-cloud

我正在尝试使用Spring Cloud框架来处理一个简单的队列处理程序.我成功地让消息处理程序轮询队列,但是.我看到的问题是,当我向队列发布消息时,我的处理程序无法将有效负载解组到所需的java对象中.

@MessageMapping("MyMessageQueue")
@SuppressWarnings("UnusedDeclaration")
public void handleCreateListingMessage(@Headers Map<String, String> headers, MyMessage message) {
    //do something with the MyMessage object
}
Run Code Online (Sandbox Code Playgroud)

我得到的错误是

No converter found to convert to class MyMessage
Run Code Online (Sandbox Code Playgroud)

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

有人遇到过这个吗?

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

Ala*_*ain 11

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

如果使用QueueMessagingTemplate#convertAndSend作为参考应用,该contentType头将自动设置.