Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Not A Problem
-
2.6
-
None
-
None
-
Docs Required
Description
When using the @Value.Derived annotation for an Immutables class, the Immutables-generated class implementation sets those values as `transient` because they are meant to be constructed by the builder.
Because Ignite ignores transient variables when marshalling to a BinaryObject, and also because Ignite uses reflection to unmarshal from a BinaryObject, those transient variables are left uninitialized in the returned Immutables object from the cache.
One idea would be instead to use an ObjectMapper and store a string/json representation in the cache and deserialize manually with the ObjectMapper, but was hoping there would be a better way to natively support Immutables and/or Jackson-serializable objects by not using Reflection in some cases.