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



Reply via email to