Re: XA rollback problem
От | Niels Beekman |
---|---|
Тема | Re: XA rollback problem |
Дата | |
Msg-id | 50CA25BD6EEA954FA592C097399942E30E463D92@CM1.wis.local обсуждение исходный текст |
Ответ на | XA rollback problem ("Niels Beekman" <n.beekman@wis.nl>) |
Список | pgsql-jdbc |
I'm glad that you were able to reproduce. Would be very nice if you could fix it this week. About the SimpleJTA: I passed the properties as a string separated by a ;, then split the properties again and pass them to the datasource using the ClassUtils. invokeMethod(). Would be convenient when the datasource had a setUrl(), but it's really SimpleJTA's job. Niels -----Original Message----- From: Kris Jurka [mailto:books@ejurka.com] Sent: maandag 24 april 2006 7:59 To: Niels Beekman Cc: pgsql-jdbc@postgresql.org Subject: Re: [JDBC] XA rollback problem 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
В списке pgsql-jdbc по дате отправления: