New TM is done.

hee hee an XP session of 6 hours :)

OK the new arch is this

Tx  Tx   Tx     Tx

        TxMan <- maps Tx to TxCapsule

        TxCapsule <- meat (xaResources and Sync)

meaning that the TxImpl (that used to do all the work) is now a lightweight
"proxy" to the TxMan, all it knows is its name.  The TxMan hashes the Tx
(btw forget the byte[].hashCode(), found a trick;) and  gets the
"txCapsule".

The TxCapsule, is only one per Transaction (and in that sense is the "real"
transaction) and contains all the relevant information (callbacks synchs,
timeout, commit logic) that used to be in TxImpl.

What this buys us is that now we can propagate a Tx (serialize it and
deserialize it) and still find all the puppies we need to find on commit
since the Tx is always recognized by the TM even though it is a brand new Tx
object.

Transactional B2B works.  (actually there is still a bug in B2B CMP, but I
am on it).
It is now correct in propagation in VM, it is not distributed (this is the
FastTM project ;) but distributing it can work with this architecture
(basically TxMan needs callbacks) and we can make these as fast as needed in
VM following the Proxy trick of jboss... ToDo, but not today.

manhana I will iron out the TM bug I saw on running TestBeans (CMP one
(still createEntity :))) but BMP works).  And I will get on the other bugs
reported as well.

g'night

marc


________________________
Marc Fleury
Chief Technology Officer
Telkel, Inc.
________________________


Reply via email to