On Jul 24, 2006, at 2:32 PM, Dain Sundstrom wrote:
On Jul 24, 2006, at 1:47 PM, David Blevins wrote:
In the interest of keeping 3 and 2 close together as to make it as
easy as possible for Geronimo to upgrade to 3, what do you think
about merging that back into 2?
I'd love to merge this back into 2 but that will be difficult. The
problem is Geronimo needs to have all transactions demarcated on
TransactionContextManager. If you go directly to the
TransactionManager, the TransactionContextManager will not know
that the transaction state changed under it's feet and will enter
an "inconsistent state".
If we want to merge this into OpenEJB 2 we will either need to
create a TransactionManager implementation that is a wrapper around
TransactionContextManager (there is one in the jencks project that
does that), or we need to convince Geronimo to drop the
TransactionContextManager and just use TransactionManager directly.
If I understand you correctly, either approach leads to more or less
the same change in OpenEJB 2? I.e. big changes to Geronimo are not
required, right?
On the jencks project note, is this what ActiveMQ et all use when
they run in Geronimo or do they write directly against the TCM?
The first first option may be possible, but I expect there to be
sublet bugs in the wrapper layer, and the second would be a pretty
big move for Geronimo. After this work, removing TCM from geronimo
will be much easier since OpenEJB was the single biggest user of
the service. The only other service I'm aware of that uses it is
the connector code. Another nice benefit of dropping the TCM is
geronimo components will be much more useable outside of geronimo
which will expand the community.
Anyway, I'll if you want I can take a deeper look at what it will
take to merge this work back into 2.
That would be great if you could.
-David