我正在尝试从Rabbit转换消息,因此,我开始使用转换器。
我有这样的听众
@Bean(name = "myMessageListener")
@DependsOn("myQueue")
MessageListener messageListener(@Qualifier("myMessageConverter") MessageConverter messageConverter) {
return new myEventListener(messageConverter);
}
所以,在我的听众课上
public void onMessage(Message message){
final MyClass myObject = (MyClass) messageConverter.fromMessage(message);
在这里我得到一个施法错误,无法转换。
MyClass是一个2字段对象:ID和Name
如果我执行以下操作,我可以成功转换它
byte[] body = message.getBody();
ObjectMapper mapper = new ObjectMapper();
String jsonInString = new String(body)
MyClass myObject = mapper.readValue(jsonInString, MyClass.class);
但当然,似乎不是一个很好的解决方案。
有没有更优雅/雄练的解决方案来解决这个问题?
感谢。