I get the exact same behaviour. It works well with v3.1 but after upgrade to v3.2 it can't register with transaction manager. Problem seams to be within Hibernate, not WAS.
The change seams to be in JDBCContext.registerSynchronizationIfPossible that now calls JDBCContext.isTransactionInProgress that in turn calls JTATransactionFactory.isTransactionInProgress in which following code is executed:
Code:
if ( jdbcContext.getFactory().getTransactionManager() != null ) {
return JTAHelper.isInProgress( jdbcContext.getFactory().getTransactionManager().getStatus() );
}
That seams ok, but since the WebSphereExtendedJTATransactionLookup class doesn't implement the getStatus method it fails.
Should initialization or configuration be made some other way in Hibernate v3.2 than 3.1? I have not found anything indicating this in the documentation.
Since v3.2 fixes some errors that we are dependent of it is important that a fix is found. Any help is apreciated.
Stacktrace:
Code:
Caused by: java.lang.UnsupportedOperationException
at org.hibernate.transaction.WebSphereExtendedJTATransactionLookup$TransactionManagerAdapter.getStatus(WebSphereExtendedJTATransactionLookup.java:78)
at org.hibernate.transaction.JTATransactionFactory.isTransactionInProgress(JTATransactionFactory.java:94)
at org.hibernate.jdbc.JDBCContext.isTransactionInProgress(JDBCContext.java:187)
at org.hibernate.jdbc.JDBCContext.registerSynchronizationIfPossible(JDBCContext.java:159)