-
Enhancement
-
Resolution: Won't Fix
-
P4
-
None
-
1.2.0
-
generic
-
generic
Name: vi73552 Date: 04/02/99
Our application uses Serialization to store a complex tree of objects; essentially, a lightweight object database. The problem is that if we (or our customers) make an incompatible change (say, moving a class to another package) in a single class, then the entire database is effectively corrupted and cannot be loaded.
I'd like to request a "ForgivingObjectInputStream" that skips over objects that cannot be resolved (and, if necessary, any objects that these objects contain), so that the entire database is no longer corrupted. Obviously, this would need to "null" references to the unresolvable objects from other objects. So my system might not be fully operable, but my users would be less likely to lose EVERYTHING as they do now. If there is already a way of skipping over unresolvable objects, I'd deeply appreciate any suggestion of how to do it.
I know that Serialization is not meant for heavy-duty persistence, but the ease-of-use of it is of tremendous benefit to us and our customers. I have already suggested creating an XML version of serialization in order to make version changes more easily upgradable, but this would also be a big help.
(Review ID: 56442)
======================================================================
- relates to
-
JDK-4363673 ClassNotFoundException-tolerant readObject() variant needed
-
- Open
-