我尝试使用RabbitTemplate(使用Spring Boot)在Queue上发布消息,并且得到了此消息。我已经尝试寻找解决方案。
Caused by: java.lang.IllegalArgumentException: SimpleMessageConverter only supports String, byte[] and Serializable payloads, received: com.example.demo.SimpleMessage
也许这部分代码可以帮助
@Override
public void run(String...strings) throws Exception {
SimpleMessage simpleMessage = new SimpleMessage();
simpleMessage.setName("FirstMessage");
simpleMessage.setDescription("simpleDescription");
rabbitTemplate.convertAndSend("TestExchange", "testRouting", simpleMessage);
}
我很感谢任何合作。
答案 0 :(得分:1)
问题在于您的类SimpleMessage
未实现Serializable
。
RabbitTemplate.convertAndSend
使用SimpleMessageConveter
将您的消息转换为amqp消息。但是SimpleMessageConverter
需要该消息来实现接口Serializable
。
您的SimpleMessage
类应如下所示:
public class SimpleMessage implements Serializable {
... your code here
}
您可以了解有关可序列化对象here的更多信息。