Сериализация: не удается найти несериализуемый компонент желаемого сериализованного объекта
Я получил объект, который должен быть сериализован. Я позволил ему реализовать 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
если вы используете Джексон