Re: making the XARessource serializable

From: "Heikki Linnakangas" <heikki(at)enterprisedb(dot)com>
To: "teknokrat" <teknokrat(at)yahoo(dot)com>
Cc: <pgsql-jdbc(at)postgresql(dot)org>
Subject: Re: making the XARessource serializable
Date: 2007-09-17 11:58:18
Message-ID: 46EE6BDA.5020503@enterprisedb.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

teknokrat wrote:
> From what i have managed to make out, Arjuna has a xa recovery module
> that can recover resources if the XAResource is serializable. Things get
> more complicated if its not. I've recompiled the jdbc drivers, making
> PGXAConnection serializable and it worked.

What exactly did you do to "make PGXAConnection serializable"? If you
just add "implements Serializable", you'll get an
NotSerializableException when you actually try to serialize it.

> This is a link illustrating
> the behaviour we were getting
> http://wiki.jboss.org/wiki/Wiki.jsp?page=TxNonSerializableXAResource

According to that, you need to provide an implementation of
com.arjuna.ats.jta.recovery.XAResourceRecovery. Apparently there's a
simple implementation that looks up the XADataSource implementation with
JNDI. See JBoss Transaction API Programmers Guide, chapter 4, title
"Shipped XAResourceRecovery implementations".

I'm surprised Arjuna/JBoss doesn't just connect to every database listed
in JNDI, or at least all those that were used in the transactions that
need recovery. That's what other app servers do, I believe.

--
Heikki Linnakangas
EnterpriseDB http://www.enterprisedb.com

In response to

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message teknokrat 2007-09-17 12:58:53 Re: making the XARessource serializable
Previous Message teknokrat 2007-09-17 11:15:33 Re: making the XARessource serializable