From: | Kris Jurka <books(at)ejurka(dot)com> |
---|---|
To: | Niels Beekman <n(dot)beekman(at)wis(dot)nl> |
Cc: | pgsql-jdbc(at)postgresql(dot)org |
Subject: | Re: XA rollback problem |
Date: | 2006-04-24 05:59:10 |
Message-ID: | Pine.BSO.4.63.0604240047370.5837@leary2.csoft.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-jdbc |
On Sat, 22 Apr 2006, Niels Beekman wrote:
> The problem occurs when calling conn.close(), if you move the close()
> after the commit() it works just fine. I think the connection gets
> invalidated while it should stay active because it still has to commit
> or rollback (whatever the transactionmanager requests).
>
Indeed the closing before committing is a problem. The PGXADatasource
code is piggybacking on the PooledConnection code. When you close a
PooledConnection a rollback occurs so that the connection can be reused.
For the XAConnection it must put the connection into a pending-closed
state and wait for the transaction manager to commit or rollback the
connection. It'll be a little tricky to make this work for both the
PooledConnection and XAConnection cases, but I'll take a look at that this
week.
Also to test this I added pg support to Simple JTA, but this required
adjusting the PGXADatasource code to have a setUrl method. Did you do the
same or do you have a simpler way of testing?
Kris Jurka
From | Date | Subject | |
---|---|---|---|
Next Message | Niels Beekman | 2006-04-24 06:48:28 | Re: XA rollback problem |
Previous Message | Niels Beekman | 2006-04-22 07:57:24 | Re: XA rollback problem |