I think I may have found a similar feature in ZODB, but I'm not sure
how I'm supposed to access it. In connection.py, the docstring for
resetCaches() mentions it's used by Zope's refresh feature, and that
objects are refreshed after connections are reopened. Is the only way
to refresh classes in ZODB to first close all connections, call
resetCaches(), then reopen the connections?

Chris

On 7/14/06, Chris S <[EMAIL PROTECTED]> wrote:
I have a small module that can dynamically update code objects in
memory after reloading their module (http://paste.plone.org/5431). It
greatly simplifies debugging during development. However, as you might
expect, at best it doesn't work at all for ZODB, and at worse it
sometimes causes ZODB to raise exceptions like:

transaction.commit()
self.conn.close()
File "C:\Program Files\Python24\Lib\site-packages\ZODB\Connection.py",
line 232, in close
    raise ConnectionStateError("Cannot close a connection joined to "
ZODB.POSException.ConnectionStateError: Cannot close a connection
joined to a transaction

Is there any way to dynamically replace the class objects so ZODB can see them?

Chris

_______________________________________________
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev

Reply via email to