[
https://issues.jboss.org/browse/WFLY-9541?page=com.atlassian.jira.plugin....
]
David Lloyd commented on WFLY-9541:
-----------------------------------
Another possibility which is compatible with the serialization specification is to provide
a replacement class which is instantiated using a (preferably package-private)
[
writeRepace|https://docs.oracle.com/javase/8/docs/platform/serialization/...]
method on the special class, which returns an instance of a {{Serializable}} or
{{Externalizable}} class which in turn also has a
[
readResolve|https://docs.oracle.com/javase/8/docs/platform/serialization/...]
method on it that returns an instance of the original class.
Storing a LinkedHashMap subclass in the session breaks replication.
-------------------------------------------------------------------
Key: WFLY-9541
URL:
https://issues.jboss.org/browse/WFLY-9541
Project: WildFly
Issue Type: Bug
Components: Clustering
Affects Versions: 12.0.0.Alpha1
Environment: Tested on JDK 1.8.0_152 on OS X 10.12
Reporter: Klaasjan Brand
Assignee: Paul Ferraro
Context: trying to get one of our applications to work with Wildfly session replication.
After trying out a build from the Wildfly master branch to test another bug I submitted I
noticed another issue which works fine in the Wildfly 11 release.
Our application has a custom LinkedHashMap subclass (MostRecentlyUsedMap from the Wicket
framework) which it stores in the session. It also keeps a reference to the subclass since
that one has a few extra fields.
When marshalling the session the MostRecentlyUsedMap is converted to a LinkedHashMap.
When unmarshalling the session this causes an error since the field is of the subclass
type.
This behaviour is new in WF 12 and is related to this commit:
https://github.com/wildfly/wildfly/commit/143527f595206c5f2bf037b47c797f0...
(fix for the WFLY-9497 issue).
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)