You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@geronimo.apache.org by Juergen Weber <we...@gmail.com> on 2009/02/23 14:57:47 UTC

Geronimo Transaction manager

Hi, 

we are looking for a transaction manager, Corba OTS based if possible, to
manage non-J2EE DB XA transactions.
What is the current state of the Geronimo Transaction manager? Can it be
used from outside of Geronimo?

What is Geronimo Transaction manager based on? Is it JOTM, OpenEJB or an own
implementation? There is some information that indicates that Geronimo would
be based on JOTM 
(http://howl.objectweb.org/presentations/2004ApacheConHigh-speedObjectWebLogger.ppt)
but I believe this is no longer current, is it?

I tried if the Geronimo Orb supports OTS, but it looks like it doesn't, does
it?

ORB orb = (ORB) initialContext.lookup("java:comp/ORB");
org.omg.CORBA.Object o =
orb.resolve_initial_references("TransactionCurrent");

results in 

org.omg.CORBA.ORBPackage.InvalidName: IDL:omg.org/CORBA/ORB/InvalidName:1.0
	at
org.apache.yoko.orb.OB.InitialServiceManager.resolveInitialReferences(InitialServiceManager.java:191)


	
So, even if it cannot be used as OTS, can the Geronimo Transaction service
be used from outside of Geronimo?	

Thanks very much,
Juergen
-- 
View this message in context: http://www.nabble.com/Geronimo-Transaction-manager-tp22161957s134p22161957.html
Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.


Re: Geronimo Transaction manager

Posted by David Jencks <da...@yahoo.com>.
On Feb 23, 2009, at 10:13 AM, Juergen Weber wrote:

>
>
> djencks wrote:
>>
>>> 	
>>> So, even if it cannot be used as OTS, can the Geronimo Transaction
>>> service
>>> be used from outside of Geronimo?	
>>
>> Geronimo TM just does xa but does not try to do OTS.  It does do
>> transaction import so the main obstacle to distributed xa  
>> transactions
>> (i..e. more than one transaction manager participating in a tx) is  
>> the
>> lack of a transport mechanism between tms.
>>
>>
>
>
> Well, sorry, I mis-formulated, by "outside of Geronimo" I meant  
> using the TM
> running in Geronimo over the network to control data base operations  
> in
> another process.
>
> So, I guess one would need an OTS transport mechanism. Do you think  
> it would
> be difficult to expose the Geronimo TM as OTS service?

Despite studying the OTS spec for some time I didn't understand it  
well enough to come up with a guess at how hard it would be to  
implement or whether it would be easier to wrap an XA tm or start  
over.  It's been several years since I looked at this.  In the  
unlikely event that I remember correctly, if an OTS wraps an XA tm you  
will end up running a copy of the XA tm on the node that is doing the  
work on the database anyway as a manager for the tx branches for that  
node so IMO you might as well just use the xa tm on that node to start  
with.  As I said I don't remember very well how this is supposed to  
work.

Could you explain in more detail what you are trying to do?

>
>
>
>
> djencks wrote:
>>
>>
>> trunk includes j2ca connector 1.6 spec code which doesn't really  
>> alter
>> the tm at all but has some other nice features.
>>
>>
>
> Do you mean Transaction Inflow (cited in the slides linked here:
> http://blogs.sun.com/sivakumart/entry/java_ee_connector_1_6) ?

Transaction inflow has been present since connector 1.5, although its  
implemented a little differently in 1.6.  It certainly seems like a  
possible foundation for constructing distributed transactions.   
However, I've yet to find anyone who knows anyone who is using  
distributed transactions in production.  (just to reiterate, by  
distributed tx I don't mean an xa tx with more than one resource  
manager, but a transaction with more than one transaction manager  
involved).

thanks
david jencks

>
>
> Thanks very much for you explanations,
> Juergen
> -- 
> View this message in context: http://www.nabble.com/Geronimo-Transaction-manager-tp22161957s134p22166928.html
> Sent from the Apache Geronimo - Users mailing list archive at  
> Nabble.com.
>


Re: Geronimo Transaction manager

Posted by Juergen Weber <we...@gmail.com>.

djencks wrote:
> 
>> 	
>> So, even if it cannot be used as OTS, can the Geronimo Transaction  
>> service
>> be used from outside of Geronimo?	
> 
> Geronimo TM just does xa but does not try to do OTS.  It does do  
> transaction import so the main obstacle to distributed xa transactions  
> (i..e. more than one transaction manager participating in a tx) is the  
> lack of a transport mechanism between tms.
> 
> 


Well, sorry, I mis-formulated, by "outside of Geronimo" I meant using the TM
running in Geronimo over the network to control data base operations in
another process.

So, I guess one would need an OTS transport mechanism. Do you think it would
be difficult to expose the Geronimo TM as OTS service?



djencks wrote:
> 
> 
> trunk includes j2ca connector 1.6 spec code which doesn't really alter  
> the tm at all but has some other nice features.
> 
> 

Do you mean Transaction Inflow (cited in the slides linked here:
http://blogs.sun.com/sivakumart/entry/java_ee_connector_1_6) ?

Thanks very much for you explanations,
Juergen
-- 
View this message in context: http://www.nabble.com/Geronimo-Transaction-manager-tp22161957s134p22166928.html
Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.


Re: Geronimo Transaction manager

Posted by David Jencks <da...@yahoo.com>.
Hi Juergen,

On Feb 23, 2009, at 5:57 AM, Juergen Weber wrote:

>
> Hi,
>
> we are looking for a transaction manager, Corba OTS based if  
> possible, to
> manage non-J2EE DB XA transactions.
> What is the current state of the Geronimo Transaction manager? Can  
> it be
> used from outside of Geronimo?

Easily.  For instance, there's a codehaus project called jencks that  
packages it for use in spring.

>
>
> What is Geronimo Transaction manager based on? Is it JOTM, OpenEJB  
> or an own
> implementation? There is some information that indicates that  
> Geronimo would
> be based on JOTM
> (http://howl.objectweb.org/presentations/2004ApacheConHigh-speedObjectWebLogger.ppt 
> )
> but I believe this is no longer current, is it?

That's not current.  Geronimo tm uses HOWL as does JOTM but the actual  
tm implementation is separate.
>
>
> I tried if the Geronimo Orb supports OTS, but it looks like it  
> doesn't, does
> it?
>
> ORB orb = (ORB) initialContext.lookup("java:comp/ORB");
> org.omg.CORBA.Object o =
> orb.resolve_initial_references("TransactionCurrent");
>
> results in
>
> org.omg.CORBA.ORBPackage.InvalidName: IDL:omg.org/CORBA/ORB/ 
> InvalidName:1.0
> 	at
> org 
> .apache 
> .yoko 
> .orb 
> .OB 
> .InitialServiceManager 
> .resolveInitialReferences(InitialServiceManager.java:191)
>
>
> 	
> So, even if it cannot be used as OTS, can the Geronimo Transaction  
> service
> be used from outside of Geronimo?	

Geronimo TM just does xa but does not try to do OTS.  It does do  
transaction import so the main obstacle to distributed xa transactions  
(i..e. more than one transaction manager participating in a tx) is the  
lack of a transport mechanism between tms.

BTW the source code for the tm is here:

https://svn.apache.org/repos/asf/geronimo/components/txmanager

the most recent stable code is under tags/geronimo-txmanager- 
parent-2.1.1
branches/geronimo-txmanager-parent-2.1 has a lot of bug fixes for  
exception handling: I think we'll be releasing this fairly soon.

trunk includes j2ca connector 1.6 spec code which doesn't really alter  
the tm at all but has some other nice features.

thanks
david jencks
>
>
> Thanks very much,
> Juergen
> -- 
> View this message in context: http://www.nabble.com/Geronimo-Transaction-manager-tp22161957s134p22161957.html
> Sent from the Apache Geronimo - Users mailing list archive at  
> Nabble.com.
>