java.lang.IllegalArgumentException при публикации сообщения с RabbitTemplate - PullRequest
0 голосов
/ 15 марта 2019

Я пытаюсь опубликовать сообщение в очереди с RabbitTemplate (используя Spring Boot), и я получил это сообщение. Я уже пытался найти решение.

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);
    }

Я ценю любое сотрудничество.

1 Ответ

1 голос
/ 15 марта 2019

Проблема в том, что ваш класс SimpleMessage не реализует Serializable.

RabbitTemplate.convertAndSend использует SimpleMessageConveter для преобразования вашего сообщения в сообщение amqp.Однако SimpleMessageConverter требует, чтобы это сообщение реализовало интерфейс Serializable.

Ваш класс SimpleMessage должен выглядеть следующим образом:

public class SimpleMessage implements Serializable {
    ... your code here
}

Вы можете узнать больше о сериализуемых объектах здесь .

...