-
Bug
-
Resolution: Done
-
Blocker
-
JBossAS-4.0.1 SP1, JBossAS-4.0.2RC1
-
None
-
None
I'm seeing incomptibilities between versions that are simply due to the fact that Serializable/Externalizable classes are letting their serialVersionUIDs float instead of explicitly defining them. We need to get this cleaned up. There should not be a single Serializable/Externalizable class that does not fix its serialVersionUID and then take responsibility for maintaining compatibility with the indicated version.
The attached SerializableHasSerialVersionUIDField.zip unzips to create a SerializableHasSerialVersionUIDField-index.html and SerializableHasSerialVersionUIDField directory which is a report of all classes in the 4.0 codebase that are not defining a serialVersionUID as they should.
The JDK object serialization spec defines all you need to know about the apis and contracts for object serialization:
http://java.sun.com/j2se/1.4.2/docs/guide/serialization/spec/serialTOC.html
In particular, Versioning of Serializable Objects:
http://java.sun.com/j2se/1.4.2/docs/guide/serialization/spec/version.html#wp9419
talks about binary compatibility and what is available to manage this.