-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Description
Seeing this with Jackson 2.9.8.
We have a custom collection implementation, which is wired to use its "immutable" version for deserialization. The rationale is that we don't want accidental modifications to the data structures that come from the wire, so they all are forced to be immutable.
After upgrade from 2.6.3 to 2.9.8, the deserialization started breaking with the message:
Cannot construct instance of
XXX
(although at least one Creator exists): no default no-arguments constructor found
This happens ONLY when you deserialize a custom collection of strings as a property of the other object. Deserializing the custom collection of strings directly works fine, and so does the deserialization of custom collection of non-strings. I believe either the StringCollectionDeserializer
should not be invoked for custom collections, or perhaps it does not handle the delegation as expected.
Please see comments for repro and workaround.
Thanks!