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