kotlin объект (локальный конечный класс) не сериализуемый - PullRequest
0 голосов
/ 07 мая 2020

По какой-то причине мне нужно создать объект в kotlin, как показано ниже, и нужно отправить его в rabbitMQ с помощью rabbitTemplate.convertAndSend. Но когда я это сделаю, я получаю сообщение об ошибке

       var myObject = object {
            var name = "Object Name"
            var description = "Object Description"
        }

Ошибка

SimpleMessageConverter only supports String, byte[] and Serializable payloads

Что мне делать, чтобы myObject было Serializable?

1 Ответ

4 голосов
/ 07 мая 2020

Ваш объект не сериализуем. Чтобы исправить, попробуйте:

var myObject = object : Serializable {
    var name = "Object Name"
    var description = "Object Description"
}

Имейте в виду, что для последовательной десериализации в случае изменений класса вам необходимо объявить константу serialVersionUID в объекте-компаньоне, но они недоступны для локального класса.

...