[omniORB] help needed - emulating a transaction service in python

Holger Brueckner lists@net-labs.de
Wed, 24 Oct 2001 12:26:44 +0200


Hello,

i'm still trying to emulate a transaction service using python but i ran
into the following problem
which i don't understand.

first i create a new transaction, which gives me a new control.
>>> ctrl1=ts.create(1)

then i want to create a subtransaction ...
>>> sctrl1=ctrl1.get_coordinator().create_subtransaction()
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
  File "CosTransactions_idl.py", line 526, in create_subtransaction
    return _omnipy.invoke(self, "create_subtransaction",
_0_CosTransactions.Coordinator._d_create_subtransaction, args)
CosTransactions.Inactive: User exception with no members
>>>

i have no idea why a CosTransactions.Inactive exception is raised. it looks
like
the error is raised even before any statement in the create_subtransaction
method
is executed, since my log message doesn't appear in the log file, as you can
see from
the following lines:

 def create_subtransaction(self):
  msg="Creating Subtransaction"
  self._baseservice._log.debug(msg)

  if self._status >= CosTransactions.StatusPrepared:
   raise CosTransactions.Inactive,"create_subtransactions called but we are
already terminating"
  c =
self._baseservice.create_subtransaction(parentTransaction=self,toplevelTrans
action=self._top_level)

  return c

24.10.2001 12:09:21.863 DEBUG Main [create_control] - Created CONTROL with
tid 4
24.10.2001 12:09:23.857 DEBUG Main [create_coordinator] - Created
COORDINATOR (rm=<ResourceManager.ResourceManager instance at 0x81f3a44> ,
parent=None , top_level=None )

any ideas ?!? any hints ?!? raising the ORBtraceLevel didn't give me much
more information,
but if anyone is interessted in looking through the code and have the traces
i can provide them.
since this is my first bigger corba project i'm stuck here ...

thanks

Holger Brueckner