[kaffe] Serialization

Guilhem Lavaux guilhem at kaffe.org
Sun Aug 10 08:14:02 PDT 2003


Hi,

I nearly managed to get Classpath's serialization up to kaffe's level 
and at the
same time keeping the advantage of it. However, it is "nearly". As I said to
Mark Wielaard, kaffe's regression tests TestSerialVersions.Test0007, 
Test0009,
Test0010, Test0011, Test0013 fails; but also TestSerialFields.Test0010 and
Test0015. These tests are problematic because it seems the field 
serialPersistentFields
has an effect on the deserialization. The specification is not really 
clear for that
point although all documentation I came across says 
serialPersistentFields is normally only used
for serialization. I checked JDK: except for one test, its output is the 
same
as the expected one (which means kaffe's previous implementation was right
except for one test).

What is your opinion on that ? The spec of serialization says:
"By using |serialPersistentFields| to define the Serializable fields for 
a class,
there no longer is a limitation that a serializable field must be a 
field within
the current definition of the |Serializable| class. The |writeObject| 
and |readObject|
methods of the |Serializable| class can map the current implementation 
of the
class to the serializable fields of the class using the interface that 
is described
in Section 1.7 "Accessing Serializable Fields of a Class
<http://java.sun.com/j2se/1.4.2/docs/guide/serialization/spec/serial-arch.html#wp5253>.”
Therefore, the fields for a |Serializable| class can change in a later 
release, as
long as it maintains the mapping back to its Serializable fields that 
must remain
compatible across release boundaries."

However I cam across an RMI's documentation which says 
serialPersistentFields should
only be used for writing objects and not reading them.

So ?

Cheers,
Guilhem.





More information about the kaffe mailing list