Project: mule
Issue MULE-7191: DefaultMuleMessage should instantiate transient fields when deserealized
We're working in a new serialization mechanism for Mule that will not require objects to implement Serializable or to provide a default constructor. This relies on ASM, Objenesis and other non standard instantiaton methods that have as a side effects that transient fields initialized in line not being initialized. For example: private transient Map inboundAttachments = new ConcurrentHashMap(); When the MuleMessage is initialized through Objenesis, inboundAttachments will be null since a new constructor is added via ASM which ignores the transient fields. Since this constructor will only be used when serializing and DefaultMuleMessage implements the DeserializationPostInitialisable interface, the initAfterDeserialisation method should instantiate these fields if they are null
Story points: 1