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