Сериализация: не удается найти несериализуемый компонент желаемого сериализованного объекта

Я получил объект, который должен быть сериализован. Я позволил ему реализовать Serializable, но во время выполнения я получаю

Failed to marshal object with optimized marhshaller:{ $heresAhugeString$ }
Failed to serialize object: { $alsoHugeString$ } 
java.io.IOException: Externalizable class doesn't have default constructor: interface java.io.Externalizable 
Externalizable class doesn't have default constructor: interface java.io.Externalizable
java.io.Externalizable.<init>()   

Последнее исключение (java.io.Externalizable.() Встречается бесконечно много раз). Я пытаюсь найти несериализуемое поле, но вижу только, что оно выдает исключение при сериализации ConcurrentHashMap. Я знаю, что это не так много информации, но полная трассировка стека довольно большая. Любые советы, как узнать, какое поле на карте отвечает за отсутствие сериализации? Или какую информацию я должен добавить? С уважением

1 ответ

Я не знаю, какой тип десериализации вы делаете, но если вам не нужно использовать это поле после демаршаллинга, вы должны установить его как transient,

transient ключевое слово java можно использовать, если вы используете сериализацию Java, или @Transient если вы используете JPA, или даже @JsonIgnoreProperties если вы используете Джексон

Другие вопросы по тегам