From: Joost v. de W. <jo...@jt...> - 2002-10-07 16:36:31
|
Hi, I'm using hibernate 1.1 final and JBoss-2.4.9-Tomcat-4.0.4 with a = XADatasource. (from jboss). I have configure the SessionFactory to work with my XADataSource and it works = fine. I use factory-level jcs caching but have the same problems without the cache. Please consider = the following debug trace from jboss: <snippet> [18:18:00,752,JTATransaction] Looking for UserTransaction under: = UserTransaction [18:18:00,752,JTATransaction] Obtained UserTransaction [18:18:00,752,JTATransaction] beginning new transaction [18:18:00,752,SessionImpl] updating = jteam.usermanager.hibernate.UserImpl#357 [18:18:00,752,SessionImpl] flushing session [18:18:00,752,SessionImpl] Flushing entities and processing referenced = collections [18:18:00,752,SessionImpl] Updating entity: = jteam.usermanager.hibernate.UserImpl#357 [18:18:00,772,SessionImpl] Processing unreferenced collections [18:18:00,772,SessionImpl] Scheduling collection = removes/(re)creates/updates [18:18:00,772,SessionImpl] Flushed: 0 insertions, 1 updates, 0 deletions = to 1 objects [18:18:00,772,SessionImpl] Flushed: 0 (re)creations, 0 updates, 0 = removals to 0 collections [18:18:00,772,SessionImpl] Executing [18:18:00,772,ReadWriteCache] Invalidating: 357 [18:18:00,772,CompositeCache] get: key =3D 357, localOnly =3D false [18:18:00,772,LRUMemoryCache] getting item for key: 357 [18:18:00,772,LRUMemoryCache] jteam.usermanager.hibernate.UserImpl: = LRUMemoryCache hit for 357 [18:18:00,772,CompositeCache] jteam.usermanager.hibernate.UserImpl - = Memory cache hit [18:18:00,772,CompositeCache] Updating memory cache [18:18:00,772,CompositeCache] No auxilliary cache to update [18:18:00,772,ClassPersister] Updating entity: = jteam.usermanager.hibernate.UserImpl#357 [18:18:00,772,SessionFactoryImpl] prepared statement get: update = UserImpl set admin =3D ?, password =3D ?, email =3D ?, active =3D ?, = username =3D ?, alert =3D ? where id =3D ? [18:18:00,772,SessionFactoryImpl] preparing statement [18:18:00,772,ClassPersister] Dehydrating entity: = jteam.usermanager.hibernate.UserImpl#357 [18:18:00,772,SessionImpl] Adding to batch [18:18:00,772,SessionImpl] Executing Batch: update UserImpl set admin = =3D ?, password =3D ?, email =3D ?, active =3D ?, username =3D ?, alert = =3D ? where id =3D ? (1) [18:18:00,772,SessionFactoryImpl] closing statement [18:18:00,772,SessionImpl] Initializing collection dirty flags [18:18:00,772,JTATransaction] commit [18:18:00,772,SessionImpl] flushing session [18:18:00,772,SessionImpl] Flushing entities and processing referenced = collections [18:18:00,772,SessionImpl] Processing unreferenced collections [18:18:00,772,SessionImpl] Scheduling collection = removes/(re)creates/updates [18:18:00,772,SessionImpl] Flushed: 0 insertions, 0 updates, 0 deletions = to 1 objects [18:18:00,772,SessionImpl] Flushed: 0 (re)creations, 0 updates, 0 = removals to 0 collections [18:18:00,772,SessionImpl] Executing [18:18:00,772,SessionImpl] Initializing collection dirty flags [18:18:00,782,SessionImpl] closing session [18:18:00,782,SessionImpl] disconnecting session [18:18:00,782,XAConnectionFactory] XAConnectionImpl: = org.jboss.pool.jdbc.xa.wrapper.XAConnectionImpl@163f7a1 has no current = tx! </snippet> As you see an update is issued. According to the output, a new = UserTransaction is obtained and begin is called. As you see, commit is called.. but see the last line: there is no current transaction??? = Seems strange to me. I'm using a Oracle8i database on the backend and the seqhilo.long id generator to generate id's.=20 I have tested this code outside of the jboss container with normal JDBC = transactions and it works fine. I'm looking into it, but maybe one of you guys has an idea?=20 I like hibernate a lot by the way! keep up the good work cheers Joost. -- Joost van de Wijgerd JTeam B.V. www.jteam.nl jo...@jt... +31(0)6 24 111 401 "A good developer knows development is more than programming. A great developer knows development is more than development." -- Scott Ambler |
From: Gavin K. <ga...@ap...> - 2002-10-07 17:06:16
|
As noted in the documentation, you can't currently use JCS caching with = container-managed transactions. The good news is you *will* be able to in the very next release (I am = implementing it tomorrow) :) ----- Original Message -----=20 From: Joost van de Wijgerd=20 To: hib...@li...=20 Sent: Tuesday, October 08, 2002 2:38 AM Subject: [Hibernate] Hibernate 1.1 and JBoss > strange JTA behavior Hi, I'm using hibernate 1.1 final and JBoss-2.4.9-Tomcat-4.0.4 with a = XADatasource. (from jboss). I have configure the SessionFactory to work with my XADataSource and it works = fine. I use factory-level jcs caching but have the same problems without the cache. Please consider = the following debug trace from jboss: <snippet> [18:18:00,752,JTATransaction] Looking for UserTransaction under: = UserTransaction [18:18:00,752,JTATransaction] Obtained UserTransaction [18:18:00,752,JTATransaction] beginning new transaction [18:18:00,752,SessionImpl] updating = jteam.usermanager.hibernate.UserImpl#357 [18:18:00,752,SessionImpl] flushing session [18:18:00,752,SessionImpl] Flushing entities and processing referenced = collections [18:18:00,752,SessionImpl] Updating entity: = jteam.usermanager.hibernate.UserImpl#357 [18:18:00,772,SessionImpl] Processing unreferenced collections [18:18:00,772,SessionImpl] Scheduling collection = removes/(re)creates/updates [18:18:00,772,SessionImpl] Flushed: 0 insertions, 1 updates, 0 = deletions to 1 objects [18:18:00,772,SessionImpl] Flushed: 0 (re)creations, 0 updates, 0 = removals to 0 collections [18:18:00,772,SessionImpl] Executing [18:18:00,772,ReadWriteCache] Invalidating: 357 [18:18:00,772,CompositeCache] get: key =3D 357, localOnly =3D false [18:18:00,772,LRUMemoryCache] getting item for key: 357 [18:18:00,772,LRUMemoryCache] jteam.usermanager.hibernate.UserImpl: = LRUMemoryCache hit for 357 [18:18:00,772,CompositeCache] jteam.usermanager.hibernate.UserImpl - = Memory cache hit [18:18:00,772,CompositeCache] Updating memory cache [18:18:00,772,CompositeCache] No auxilliary cache to update [18:18:00,772,ClassPersister] Updating entity: = jteam.usermanager.hibernate.UserImpl#357 [18:18:00,772,SessionFactoryImpl] prepared statement get: update = UserImpl set admin =3D ?, password =3D ?, email =3D ?, active =3D ?, = username =3D ?, alert =3D ? where id =3D ? [18:18:00,772,SessionFactoryImpl] preparing statement [18:18:00,772,ClassPersister] Dehydrating entity: = jteam.usermanager.hibernate.UserImpl#357 [18:18:00,772,SessionImpl] Adding to batch [18:18:00,772,SessionImpl] Executing Batch: update UserImpl set admin = =3D ?, password =3D ?, email =3D ?, active =3D ?, username =3D ?, alert = =3D ? where id =3D ? (1) [18:18:00,772,SessionFactoryImpl] closing statement [18:18:00,772,SessionImpl] Initializing collection dirty flags [18:18:00,772,JTATransaction] commit [18:18:00,772,SessionImpl] flushing session [18:18:00,772,SessionImpl] Flushing entities and processing referenced = collections [18:18:00,772,SessionImpl] Processing unreferenced collections [18:18:00,772,SessionImpl] Scheduling collection = removes/(re)creates/updates [18:18:00,772,SessionImpl] Flushed: 0 insertions, 0 updates, 0 = deletions to 1 objects [18:18:00,772,SessionImpl] Flushed: 0 (re)creations, 0 updates, 0 = removals to 0 collections [18:18:00,772,SessionImpl] Executing [18:18:00,772,SessionImpl] Initializing collection dirty flags [18:18:00,782,SessionImpl] closing session [18:18:00,782,SessionImpl] disconnecting session [18:18:00,782,XAConnectionFactory] XAConnectionImpl: = org.jboss.pool.jdbc.xa.wrapper.XAConnectionImpl@163f7a1 has no current = tx! </snippet> As you see an update is issued. According to the output, a new = UserTransaction is obtained and begin is called. As you see, commit is called.. but see the last line: there is no current transaction??? = Seems strange to me. I'm using a Oracle8i database on the backend and the seqhilo.long id generator to generate id's.=20 I have tested this code outside of the jboss container with normal = JDBC transactions and it works fine. I'm looking into it, but maybe one of you guys has an idea?=20 I like hibernate a lot by the way! keep up the good work cheers Joost. -- Joost van de Wijgerd JTeam B.V. www.jteam.nl jo...@jt... +31(0)6 24 111 401 "A good developer knows development is more than programming. A great developer knows development is more than development." -- Scott Ambler |
From: Gavin K. <ga...@ap...> - 2002-10-07 17:09:15
|
Sorry - didn't read your message properly! I will look at this more closely. ----- Original Message -----=20 From: Joost van de Wijgerd=20 To: hib...@li...=20 Sent: Tuesday, October 08, 2002 2:38 AM Subject: [Hibernate] Hibernate 1.1 and JBoss > strange JTA behavior Hi, I'm using hibernate 1.1 final and JBoss-2.4.9-Tomcat-4.0.4 with a = XADatasource. (from jboss). I have configure the SessionFactory to work with my XADataSource and it works = fine. I use factory-level jcs caching but have the same problems without the cache. Please consider = the following debug trace from jboss: <snippet> [18:18:00,752,JTATransaction] Looking for UserTransaction under: = UserTransaction [18:18:00,752,JTATransaction] Obtained UserTransaction [18:18:00,752,JTATransaction] beginning new transaction [18:18:00,752,SessionImpl] updating = jteam.usermanager.hibernate.UserImpl#357 [18:18:00,752,SessionImpl] flushing session [18:18:00,752,SessionImpl] Flushing entities and processing referenced = collections [18:18:00,752,SessionImpl] Updating entity: = jteam.usermanager.hibernate.UserImpl#357 [18:18:00,772,SessionImpl] Processing unreferenced collections [18:18:00,772,SessionImpl] Scheduling collection = removes/(re)creates/updates [18:18:00,772,SessionImpl] Flushed: 0 insertions, 1 updates, 0 = deletions to 1 objects [18:18:00,772,SessionImpl] Flushed: 0 (re)creations, 0 updates, 0 = removals to 0 collections [18:18:00,772,SessionImpl] Executing [18:18:00,772,ReadWriteCache] Invalidating: 357 [18:18:00,772,CompositeCache] get: key =3D 357, localOnly =3D false [18:18:00,772,LRUMemoryCache] getting item for key: 357 [18:18:00,772,LRUMemoryCache] jteam.usermanager.hibernate.UserImpl: = LRUMemoryCache hit for 357 [18:18:00,772,CompositeCache] jteam.usermanager.hibernate.UserImpl - = Memory cache hit [18:18:00,772,CompositeCache] Updating memory cache [18:18:00,772,CompositeCache] No auxilliary cache to update [18:18:00,772,ClassPersister] Updating entity: = jteam.usermanager.hibernate.UserImpl#357 [18:18:00,772,SessionFactoryImpl] prepared statement get: update = UserImpl set admin =3D ?, password =3D ?, email =3D ?, active =3D ?, = username =3D ?, alert =3D ? where id =3D ? [18:18:00,772,SessionFactoryImpl] preparing statement [18:18:00,772,ClassPersister] Dehydrating entity: = jteam.usermanager.hibernate.UserImpl#357 [18:18:00,772,SessionImpl] Adding to batch [18:18:00,772,SessionImpl] Executing Batch: update UserImpl set admin = =3D ?, password =3D ?, email =3D ?, active =3D ?, username =3D ?, alert = =3D ? where id =3D ? (1) [18:18:00,772,SessionFactoryImpl] closing statement [18:18:00,772,SessionImpl] Initializing collection dirty flags [18:18:00,772,JTATransaction] commit [18:18:00,772,SessionImpl] flushing session [18:18:00,772,SessionImpl] Flushing entities and processing referenced = collections [18:18:00,772,SessionImpl] Processing unreferenced collections [18:18:00,772,SessionImpl] Scheduling collection = removes/(re)creates/updates [18:18:00,772,SessionImpl] Flushed: 0 insertions, 0 updates, 0 = deletions to 1 objects [18:18:00,772,SessionImpl] Flushed: 0 (re)creations, 0 updates, 0 = removals to 0 collections [18:18:00,772,SessionImpl] Executing [18:18:00,772,SessionImpl] Initializing collection dirty flags [18:18:00,782,SessionImpl] closing session [18:18:00,782,SessionImpl] disconnecting session [18:18:00,782,XAConnectionFactory] XAConnectionImpl: = org.jboss.pool.jdbc.xa.wrapper.XAConnectionImpl@163f7a1 has no current = tx! </snippet> As you see an update is issued. According to the output, a new = UserTransaction is obtained and begin is called. As you see, commit is called.. but see the last line: there is no current transaction??? = Seems strange to me. I'm using a Oracle8i database on the backend and the seqhilo.long id generator to generate id's.=20 I have tested this code outside of the jboss container with normal = JDBC transactions and it works fine. I'm looking into it, but maybe one of you guys has an idea?=20 I like hibernate a lot by the way! keep up the good work cheers Joost. -- Joost van de Wijgerd JTeam B.V. www.jteam.nl jo...@jt... +31(0)6 24 111 401 "A good developer knows development is more than programming. A great developer knows development is more than development." -- Scott Ambler |
From: Joost v. de W. <jo...@jt...> - 2002-10-07 17:31:54
|
Hi Gavin, Ok, just to be sure I de-activated the caches and the result is the = same: (except without the cache output) <snippet> [19:27:55,211,JTATransaction] Looking for UserTransaction under: = UserTransaction [19:27:55,211,JTATransaction] Obtained UserTransaction [19:27:55,211,JTATransaction] beginning new transaction [19:27:55,211,SessionImpl] updating = jteam.usermanager.hibernate.UserImpl#459 [19:27:55,211,SessionImpl] flushing session [19:27:55,211,SessionImpl] Flushing entities and processing referenced = collections [19:27:55,211,SessionImpl] Updating entity: = jteam.usermanager.hibernate.UserImpl#459 [19:27:55,231,SessionImpl] Processing unreferenced collections [19:27:55,231,SessionImpl] Scheduling collection = removes/(re)creates/updates [19:27:55,231,SessionImpl] Flushed: 0 insertions, 1 updates, 0 deletions = to 1 objects [19:27:55,231,SessionImpl] Flushed: 0 (re)creations, 0 updates, 0 = removals to 0 collections [19:27:55,231,SessionImpl] Executing [19:27:55,231,ClassPersister] Updating entity: = jteam.usermanager.hibernate.UserImpl#459 [19:27:55,231,SessionFactoryImpl] prepared statement get: update = UserImpl set admin =3D ?, password =3D ?, email =3D ?, active =3D ?, = username =3D ?, alert =3D ? where id =3D ? [19:27:55,231,SessionFactoryImpl] preparing statement [19:27:55,231,ClassPersister] Dehydrating entity: = jteam.usermanager.hibernate.UserImpl#459 [19:27:55,231,SessionImpl] Adding to batch [19:27:55,231,SessionImpl] Executing Batch: update UserImpl set admin = =3D ?, password =3D ?, email =3D ?, active =3D ?, username =3D ?, alert = =3D ? where id =3D ? (1) [19:27:55,241,SessionFactoryImpl] closing statement [19:27:55,241,SessionImpl] Initializing collection dirty flags [19:27:55,241,JTATransaction] commit [19:27:55,241,SessionImpl] flushing session [19:27:55,241,SessionImpl] Flushing entities and processing referenced = collections [19:27:55,241,SessionImpl] Processing unreferenced collections [19:27:55,241,SessionImpl] Scheduling collection = removes/(re)creates/updates [19:27:55,241,SessionImpl] Flushed: 0 insertions, 0 updates, 0 deletions = to 1 objects [19:27:55,241,SessionImpl] Flushed: 0 (re)creations, 0 updates, 0 = removals to 0 collections [19:27:55,241,SessionImpl] Executing [19:27:55,241,SessionImpl] Initializing collection dirty flags [19:27:55,241,SessionImpl] closing session [19:27:55,241,SessionImpl] disconnecting session [19:27:55,241,XAConnectionFactory] XAConnectionImpl: = org.jboss.pool.jdbc.xa.wrapper.XAConnectionImpl@163f7a1 has no current = tx! </snippet> Really weird, I'll be looking into it for the coming hours (checking = both jboss 2.4.9 and hibernate code) will let you know if I find anything weird. thanks for the quick response Joost. |
From: Gavin K. <ga...@ap...> - 2002-10-07 17:55:28
|
Check out this thread http://www.jboss.org/forums/thread.jsp?forum=3D144&thread=3D20163&message= =3D3737404#3737404 I don't quite know what conclusion to draw from it, but it seems that = the JBoss connection pool is returning connections with autocommit off. = Hibernate assumes that autocommit would be ON. Perhaps we need to toggle = the connection autocommit state in JTATransaction. ----- Original Message -----=20 From: Joost van de Wijgerd=20 To: hib...@li...=20 Sent: Tuesday, October 08, 2002 2:38 AM Subject: [Hibernate] Hibernate 1.1 and JBoss > strange JTA behavior Hi, I'm using hibernate 1.1 final and JBoss-2.4.9-Tomcat-4.0.4 with a = XADatasource. (from jboss). I have configure the SessionFactory to work with my XADataSource and it works = fine. I use factory-level jcs caching but have the same problems without the cache. Please consider = the following debug trace from jboss: <snippet> [18:18:00,752,JTATransaction] Looking for UserTransaction under: = UserTransaction [18:18:00,752,JTATransaction] Obtained UserTransaction [18:18:00,752,JTATransaction] beginning new transaction [18:18:00,752,SessionImpl] updating = jteam.usermanager.hibernate.UserImpl#357 [18:18:00,752,SessionImpl] flushing session [18:18:00,752,SessionImpl] Flushing entities and processing referenced = collections [18:18:00,752,SessionImpl] Updating entity: = jteam.usermanager.hibernate.UserImpl#357 [18:18:00,772,SessionImpl] Processing unreferenced collections [18:18:00,772,SessionImpl] Scheduling collection = removes/(re)creates/updates [18:18:00,772,SessionImpl] Flushed: 0 insertions, 1 updates, 0 = deletions to 1 objects [18:18:00,772,SessionImpl] Flushed: 0 (re)creations, 0 updates, 0 = removals to 0 collections [18:18:00,772,SessionImpl] Executing [18:18:00,772,ReadWriteCache] Invalidating: 357 [18:18:00,772,CompositeCache] get: key =3D 357, localOnly =3D false [18:18:00,772,LRUMemoryCache] getting item for key: 357 [18:18:00,772,LRUMemoryCache] jteam.usermanager.hibernate.UserImpl: = LRUMemoryCache hit for 357 [18:18:00,772,CompositeCache] jteam.usermanager.hibernate.UserImpl - = Memory cache hit [18:18:00,772,CompositeCache] Updating memory cache [18:18:00,772,CompositeCache] No auxilliary cache to update [18:18:00,772,ClassPersister] Updating entity: = jteam.usermanager.hibernate.UserImpl#357 [18:18:00,772,SessionFactoryImpl] prepared statement get: update = UserImpl set admin =3D ?, password =3D ?, email =3D ?, active =3D ?, = username =3D ?, alert =3D ? where id =3D ? [18:18:00,772,SessionFactoryImpl] preparing statement [18:18:00,772,ClassPersister] Dehydrating entity: = jteam.usermanager.hibernate.UserImpl#357 [18:18:00,772,SessionImpl] Adding to batch [18:18:00,772,SessionImpl] Executing Batch: update UserImpl set admin = =3D ?, password =3D ?, email =3D ?, active =3D ?, username =3D ?, alert = =3D ? where id =3D ? (1) [18:18:00,772,SessionFactoryImpl] closing statement [18:18:00,772,SessionImpl] Initializing collection dirty flags [18:18:00,772,JTATransaction] commit [18:18:00,772,SessionImpl] flushing session [18:18:00,772,SessionImpl] Flushing entities and processing referenced = collections [18:18:00,772,SessionImpl] Processing unreferenced collections [18:18:00,772,SessionImpl] Scheduling collection = removes/(re)creates/updates [18:18:00,772,SessionImpl] Flushed: 0 insertions, 0 updates, 0 = deletions to 1 objects [18:18:00,772,SessionImpl] Flushed: 0 (re)creations, 0 updates, 0 = removals to 0 collections [18:18:00,772,SessionImpl] Executing [18:18:00,772,SessionImpl] Initializing collection dirty flags [18:18:00,782,SessionImpl] closing session [18:18:00,782,SessionImpl] disconnecting session [18:18:00,782,XAConnectionFactory] XAConnectionImpl: = org.jboss.pool.jdbc.xa.wrapper.XAConnectionImpl@163f7a1 has no current = tx! </snippet> As you see an update is issued. According to the output, a new = UserTransaction is obtained and begin is called. As you see, commit is called.. but see the last line: there is no current transaction??? = Seems strange to me. I'm using a Oracle8i database on the backend and the seqhilo.long id generator to generate id's.=20 I have tested this code outside of the jboss container with normal = JDBC transactions and it works fine. I'm looking into it, but maybe one of you guys has an idea?=20 I like hibernate a lot by the way! keep up the good work cheers Joost. -- Joost van de Wijgerd JTeam B.V. www.jteam.nl jo...@jt... +31(0)6 24 111 401 "A good developer knows development is more than programming. A great developer knows development is more than development." -- Scott Ambler |
From: Joost v. de W. <jo...@jt...> - 2002-10-07 18:27:49
|
Gavin, I think that in a JTATransaction autocommit will always be off, due to = the nature that it is a distributed transaction.. What can we do (and where in the code) to solve this problem? Joost Check out this thread = http://www.jboss.org/forums/thread.jsp?forum=3D144&thread=3D20163&message= =3D3737404#3737404 I don't quite know what conclusion to draw from it, but it seems that = the JBoss connection pool is returning connections with autocommit off. = Hibernate assumes that autocommit would be ON. Perhaps we need to toggle = the connection autocommit state in JTATransaction. |
From: Gavin K. <ga...@ap...> - 2002-10-07 18:43:36
|
Gyack....I got muddled. No, of course we assume its off... ignore my sillyness. ----- Original Message -----=20 From: Joost van de Wijgerd=20 To: Gavin King ; hib...@li...=20 Sent: Tuesday, October 08, 2002 4:30 AM Subject: Re: [Hibernate] Hibernate 1.1 and JBoss > strange JTA = behavior Gavin, I think that in a JTATransaction autocommit will always be off, due to = the nature that it is a distributed transaction.. What can we do (and where in the code) to solve this problem? Joost Check out this thread = http://www.jboss.org/forums/thread.jsp?forum=3D144&thread=3D20163&message= =3D3737404#3737404 I don't quite know what conclusion to draw from it, but it seems = that the JBoss connection pool is returning connections with autocommit = off. Hibernate assumes that autocommit would be ON. Perhaps we need to = toggle the connection autocommit state in JTATransaction. |
From: Joost v. de W. <jo...@jt...> - 2002-10-07 18:27:57
|
Gavin, I think you're on the right track with this line of thought the = following code executes but does NOT=20 end up in the db <code> // get the datasource InitialContext ctx =3D new InitialContext(); DataSource ds =3D (DataSource) = ctx.lookup("java:/SmartHavenConnectionPool"); // get a connection Connection conn =3D ds.getConnection(); // get the UserTransaction UserTransaction trans =3D (UserTransaction) = ctx.lookup("UserTransaction"); // begin trans.begin(); // insert a user ... String sql =3D "insert into UserImpl ( password, email, = username, id ) values ( ?,?,?,? )"; PreparedStatement ps =3D conn.prepareStatement(sql); ps.setString(1,"saojchao"); ps.setString(2,"ascjahsuh"); ps.setString(3,"caijhcaoiuhc"); ps.setLong(4,99L); ps.execute(); // commit the transaction trans.commit(); // close the connection conn.close(); </code> which is not so strange since this is the JBOSS code that's being run: <code> if(!((XAResourceImpl)xaCon.getXAResource()).isTransaction()) { // Wrapper - we can only release it if there's = no current transaction // Can't just check TM because con may have been = committed but left open // so if there's a current transaction it may = not apply to the con. log.warn("XAConnectionImpl: " + xaCon + " has no = current tx!"); try { xaCon.rollback(); } catch(SQLException e) { pool.markObjectAsInvalid(con); } pool.releaseObject(con); } </code> as you see, the whole shabang is rolled back! Joost. |
From: Gavin K. <ga...@ap...> - 2002-10-08 16:04:02
|
For anyone following this thread, we fixed this problem by having the = Session fetch the JDBC connection after beginning the JTATransaction. |