db-jdo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Craig L Russell <Craig.Russ...@Sun.COM>
Subject Serializing PersistenceManager
Date Wed, 28 Nov 2007 20:00:31 GMT
Comments please...

<proposed>
12.18 Serialization
Serializing or externalizing a persistence manager is an optional  
feature of a jdo implementation. If an implementation of  
PersistenceManager (including PersistenceManager proxy) is declared  
as implementing Serializable or Externalizable, then the  
corresponding PersistenceManagerFactory must also be declared as  
implementing Serializable or Externalizable and vice versa. In this  
section, serialization refers to both serialization and externalization.
Serializing a persistence manager works in conjunction with  
serializing other state, independent of the persistence manager. A  
persistence manager whose writeObject or writeExternal method is  
called must therefore not assume that it is the root object of  
serialization.
When serialized, a persistence manager must write out its own state  
as well as the state of each of its managed instances. It must write  
a reference to its corresponding persistence manager factory  
sufficient to locate or create it when restored. It must write the  
life cycle state of all instances that have not been garbage  
collected. It must write the before image of dirty instances in order  
to restore these instances later.
Serialization must only be done when there is no datastore  
transaction enlisted. That is, a datastore transaction must not be  
active; and if an optimistic transaction is active, flush must not  
have been called. If either of these conditions exists,  
JDOUserException is thrown.
</proposed>

I'll add more details on restoring the state of a persistence manager...

Craig Russell
Architect, Sun Java Enterprise System http://java.sun.com/products/jdo
408 276-5638 mailto:Craig.Russell@sun.com
P.S. A good JDO? O, Gasp!


Mime
View raw message