You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by Guy Pardon <gu...@atomikos.com> on 2007/10/22 11:29:17 UTC

Integrating a third-party JTA

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

Posted by Guy Pardon <gu...@atomikos.com>.
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
>>>
>>>
>>
>
>


Re: Integrating a third-party JTA

Posted by David Jencks <da...@yahoo.com>.
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

Posted by Guy Pardon <gu...@atomikos.com>.
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

Posted by Dain Sundstrom <da...@iq80.com>.
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