DirectRabbitListenerContainerFactory#setMessageConverter(new Jackson2JsonMessageConverter());
setMessageConverter函数的参数为new Jackson2JsonMessageConverter()时,表示将消息转换成json对象,
对于转实体类参数要设成
new MessageConverter() {
@Override
public Message toMessage(Object object, MessageProperties messageProperties) throws MessageConversionException {
return null;
}
@Override
public Object fromMessage(Message message) throws MessageConversionException {
//User为待转换成的实体类
return new User(1,new String(message.getBody()));
}
}
listenerContainer用于配置消费者(监听)的一些参数
Jackson2JsonMessageConverter如果接收到的消息属性里面没有content_type属性,或者content_type值不包含json,则转换后的结果是byte[]
@RabbitListener(queue="", containerFactory="")注解在类上时,
多个方法使用多个@RabbitHandler注解用于接收并处理不通类型的消息,当生产者发送过来的消息格式在消费者这边没有接收该类型的监听者时就会报找不到方法的