You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Regression: HibernateTransactionManager.doBegin fails with java.lang.IllegalStateException: Already value [org.springframework.jdbc.datasource.ConnectionHolder [SPR-6409]
#11075
Note: This works perfectly in 2.5.6 with the same Hibernate version.
In HibernateTransactionManager.doBegin() line 555 (hibTx = session.beginTransaction();) results in a call to TransactionSynchronizationManager.bindResource with the following arguments:
key = the datasource
value = connection holder
So far so good.
Execution of HibernateTransactionManager.doBegin() then resumes until line 571 (TransactionSynchronizationManager.bindResource(getDataSource(), conHolder);) which then bombs out on line 179 with java.lang.IllegalStateException: Already value !
This is a serious regression that should definitely be fixed before 3.0 goes final.
Keep up the good work,
Axel (going back to 2.5.6 until this is resolved)
How exactly does that session.beginTransaction call at line 555 result in a call to TransactionSynchronizationManager.bindResource? Are you by any chance using TransactionAwareDataSourceProxy or the like underneath, with your LocalSessionFactoryBean linked to it?
This is used in conjunction with the Spring Test Framwork and a class annotated with: @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = {"..."}) @TransactionConfiguration(transactionManager = "base-transactionManager") @Transactional
It bombs out before reaching any code in my class.
Axel Fontaine opened SPR-6409 and commented
Note: This works perfectly in 2.5.6 with the same Hibernate version.
In HibernateTransactionManager.doBegin() line 555 (hibTx = session.beginTransaction();) results in a call to TransactionSynchronizationManager.bindResource with the following arguments:
key = the datasource
value = connection holder
So far so good.
Execution of HibernateTransactionManager.doBegin() then resumes until line 571 (TransactionSynchronizationManager.bindResource(getDataSource(), conHolder);) which then bombs out on line 179 with java.lang.IllegalStateException: Already value !
This is a serious regression that should definitely be fixed before 3.0 goes final.
Keep up the good work,
Axel (going back to 2.5.6 until this is resolved)
Affects: 3.0 RC2
Referenced from: commits 5165465
The text was updated successfully, but these errors were encountered: