Zope's Transaction manager
Hello Zopistas. I want to register an object with the transaction manager. I have inherited from TM.py and overloaded tpc_finish and tpc_begin and it does not seem to work. They are never called. I have even tried registering the object with bobo_before, which I assume it is called before anything else. Does anyone have Tips/HowTo on how to make objects participate in Zope's transaction? After-all-Anthony-was-right Pavlos
Pavlos Christoforou wrote:
Hello Zopistas.
I want to register an object with the transaction manager.
For what purpose?
I have inherited from TM.py and overloaded tpc_finish and tpc_begin and it does not seem to work.
You need to override _begin, _finsh, and _abort, not tpc_finish and tpc_begin. (The doc string was wrong, I just checked in a fix to it.) You also need to call self._register() to actually register with the transaction manager.
They are never called. I have even tried registering the object with bobo_before, which I assume it is called before anything else.
Don't mess with bobo_before.
Does anyone have Tips/HowTo on how to make objects participate in Zope's transaction?
TM is mainly there for database adapters to coordinate with an RDBMS transaction system. It assumes that most of the work in commiting or rolling back changes is done by the external database. If you want to implement transactional behavior yourself, it would be better to implement the transaction management api's more directly. We have a model that described these APIs. We'll publish it and let you know where it is. Jim -- Jim Fulton mailto:jim@digicool.com Technical Director (888) 344-4332 Python Powered! Digital Creations http://www.digicool.com http://www.python.org Under US Code Title 47, Sec.227(b)(1)(C), Sec.227(a)(2)(B) This email address may not be added to any commercial mail list with out my permission. Violation of my privacy with advertising or SPAM will result in a suit for a MINIMUM of $500 damages/incident, $1500 for repeats.
participants (2)
-
Jim Fulton -
Pavlos Christoforou