The current persistence strategy saves the original metaclass in our object store (but only keeps the classId .. everything else about the metaclass is transient). When the object gets loaded, its metaclass is a 'duplicate' of the original and dynamically hooks up to the methods, superclass, etc. of the original.

I know there is some concern about having two instances of the same metaclass in memory, so I thought I would point out that we have a secret sauce in our persistence engine for getting rid of the duplicate and restoring the original metaclass into the persistent object. It is not something that I can do in the JRuby source. It requires some trickery at a low level, but we can do it. So if the problem of having a duplicate metaclass appears to be a problem, we will fix it. Until then, we are currently heads down on a new release of the persistence engine, so it has to wait for a few weeks until we can tackle it.

---------------------------------------------------------------------
To unsubscribe from this list please visit:

   http://xircles.codehaus.org/manage_email

Reply via email to