CORBA formal 00-11-03 10.6.2 states
"If the actual serialization version UID for the Java class differs from
the hash code, a colon and the actual serialization version UID
(transcribed as a 16 digit upper-case hex string) shall be appended to
the RepositoryId after the hash code."
Please comment on the following assertions. The CORBA spec is vague
here, and it has resulted in incompatible interpretations which must be
1) The "actual serialization version UID" mentioned is as defined in
the Java Object Serialization specification.
Based on this Java specification and its note that "If the SUID is not
declared for a class, the value defaults to the hash for that class":
2) If a serialVersionUID field is defined in the class with the proper
modifiers, its value is used as the "actual serialization version UID"
mentioned in the CORBA spec
3) If a serialVersionUID field with the proper modifiers is not
explicitly defined in a class, its value is computed as explained in the
Java Object Serialization spec, and this computed value is used as the
"actual serialization version UID" mentioned in the CORBA spec
4) It is required by the CORBA spec to always include the Java
serialVersionUID (as computed in assertions 2 and 3 above) in the RMI
repository ID if the value is different than the OMG hash code (for
which the algorithm is defined in CORBA formal 00-11-03 10.6.2)
5) It is not acceptable to leave off the SUID portion of the RMI
repository ID if the serialVersionUID field is merely absent from the