Uploaded image for project: 'Application Server 3  4  5 and 6'
  1. Application Server 3 4 5 and 6
  2. JBAS-1579

Need to cleanup the serialVersionUIDs for Serializable/Externalizable classes

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Blocker Blocker
    • JBossAS-4.0.2 Final
    • 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.

              starksm64 Scott Stark (Inactive)
              starksm64 Scott Stark (Inactive)
              Votes:
              1 Vote for this issue
              Watchers:
              0 Start watching this issue

                Created:
                Updated:
                Resolved:

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0 minutes
                  0m
                  Logged:
                  Time Spent - 4 days
                  4d