Integrating a third-party JTA

2007-10-22 Thread Guy Pardon

Hi,

Does anybody have any useful pointers on how to integrate a third- 
party JTA (Atomikos) into Geronimo?


Thanks,
Guy


Re: Integrating a third-party JTA

2007-10-22 Thread Dain Sundstrom
Other then code that attempts to cast the transaction manger to  
GeronimoTransactionManager (or other Geronimo transaction interfaces)  
it shouldn't be that difficult.  The biggest issue will be if you  
want to use the Geronimo connector implementation, then you will have  
to figure out how to adapt the JTA implementation to the  
org.apache.geronimo.transaction.manager.XAWork interface.  The second  
biggest issue, will be convincing G to correctly build the JTA  
implementation which will require a GBean wrapper of some kind.


-dain

On Oct 22, 2007, at 2:29 AM, Guy Pardon wrote:


Hi,

Does anybody have any useful pointers on how to integrate a third- 
party JTA (Atomikos) into Geronimo?


Thanks,
Guy




Re: Integrating a third-party JTA

2007-10-22 Thread Guy Pardon

Hi,

Thanks. Where can I see samples of this (how is it done now)? I  
couldn't find the right module so far... Or is it in a jar somewhere?


Guy

On 22-okt-07, at 22:08, Dain Sundstrom wrote:

Other then code that attempts to cast the transaction manger to  
GeronimoTransactionManager (or other Geronimo transaction  
interfaces) it shouldn't be that difficult.  The biggest issue will  
be if you want to use the Geronimo connector implementation, then  
you will have to figure out how to adapt the JTA implementation to  
the org.apache.geronimo.transaction.manager.XAWork interface.  The  
second biggest issue, will be convincing G to correctly build the  
JTA implementation which will require a GBean wrapper of some kind.


-dain

On Oct 22, 2007, at 2:29 AM, Guy Pardon wrote:


Hi,

Does anybody have any useful pointers on how to integrate a third- 
party JTA (Atomikos) into Geronimo?


Thanks,
Guy







Re: Integrating a third-party JTA

2007-10-22 Thread David Jencks


On Oct 22, 2007, at 1:45 PM, Guy Pardon wrote:


Hi,

Thanks. Where can I see samples of this (how is it done now)? I  
couldn't find the right module so far... Or is it in a jar somewhere?


Our J2CA and JTA implementation is in https://svn.apache.org/repos/ 
asf/geronimo/components/txmanager/trunk.  You can see how we handle  
the J2CA transaction import using XATerminator and XAWork  
interfaces.  Also notice that in order to make transaction recovery  
work without necessarily all previously existing RMs starting up  
again we've named the RMs with NamedXAResource.  The idea is that  
when the tm starts up again it reads the log to find all the in- 
flight txs and as each RM starts up it registers with the TM and the  
outstanding in-flight txs in that RM are either rolled back or  
committed based on what's in the log.  In order to clear out txs  
where some or all RMs are actually committed before the tm logs  
complete we compare the names of the RM with the names stored with  
the xids in the log.


In the geronimo modules/geronimo-transaction module we have gbeans  
that start the actual TM components at runtime.  You will at least  
need to write some gbean wrappers for the Atomikos TM.  You'll  
probably want to write a replacement configs/transaction module to  
use instead of the standard one.  Then you can map uses of our tm  
module to yours with an entry in var/config/artifact_aliases.properties.



Hope this helps
david jencks



Guy

On 22-okt-07, at 22:08, Dain Sundstrom wrote:

Other then code that attempts to cast the transaction manger to  
GeronimoTransactionManager (or other Geronimo transaction  
interfaces) it shouldn't be that difficult.  The biggest issue  
will be if you want to use the Geronimo connector implementation,  
then you will have to figure out how to adapt the JTA  
implementation to the  
org.apache.geronimo.transaction.manager.XAWork interface.  The  
second biggest issue, will be convincing G to correctly build the  
JTA implementation which will require a GBean wrapper of some kind.


-dain

On Oct 22, 2007, at 2:29 AM, Guy Pardon wrote:


Hi,

Does anybody have any useful pointers on how to integrate a third- 
party JTA (Atomikos) into Geronimo?


Thanks,
Guy









Re: Integrating a third-party JTA

2007-10-22 Thread Guy Pardon

Thanks David,

That helps - I will have a look!

Guy

On 23-okt-07, at 00:21, David Jencks wrote:



On Oct 22, 2007, at 1:45 PM, Guy Pardon wrote:


Hi,

Thanks. Where can I see samples of this (how is it done now)? I  
couldn't find the right module so far... Or is it in a jar somewhere?


Our J2CA and JTA implementation is in https://svn.apache.org/repos/ 
asf/geronimo/components/txmanager/trunk.  You can see how we handle  
the J2CA transaction import using XATerminator and XAWork  
interfaces.  Also notice that in order to make transaction recovery  
work without necessarily all previously existing RMs starting up  
again we've named the RMs with NamedXAResource.  The idea is that  
when the tm starts up again it reads the log to find all the in- 
flight txs and as each RM starts up it registers with the TM and  
the outstanding in-flight txs in that RM are either rolled back or  
committed based on what's in the log.  In order to clear out txs  
where some or all RMs are actually committed before the tm logs  
complete we compare the names of the RM with the names stored  
with the xids in the log.


In the geronimo modules/geronimo-transaction module we have gbeans  
that start the actual TM components at runtime.  You will at least  
need to write some gbean wrappers for the Atomikos TM.  You'll  
probably want to write a replacement configs/transaction module to  
use instead of the standard one.  Then you can map uses of our tm  
module to yours with an entry in var/config/ 
artifact_aliases.properties.



Hope this helps
david jencks



Guy

On 22-okt-07, at 22:08, Dain Sundstrom wrote:

Other then code that attempts to cast the transaction manger to  
GeronimoTransactionManager (or other Geronimo transaction  
interfaces) it shouldn't be that difficult.  The biggest issue  
will be if you want to use the Geronimo connector implementation,  
then you will have to figure out how to adapt the JTA  
implementation to the  
org.apache.geronimo.transaction.manager.XAWork interface.  The  
second biggest issue, will be convincing G to correctly build the  
JTA implementation which will require a GBean wrapper of some kind.


-dain

On Oct 22, 2007, at 2:29 AM, Guy Pardon wrote:


Hi,

Does anybody have any useful pointers on how to integrate a  
third-party JTA (Atomikos) into Geronimo?


Thanks,
Guy