[hibernate-issues] [Hibernate-JIRA] Created: (HHH-3111) WebSphereExtendedJTATransactionLookup$TransactionManagerAdapter.getStatus() implemented incorrect
Felix von Delius (JIRA)
noreply at atlassian.com
Fri Feb 15 10:18:33 EST 2008
WebSphereExtendedJTATransactionLookup$TransactionManagerAdapter.getStatus() implemented incorrect
-------------------------------------------------------------------------------------------------
Key: HHH-3111
URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-3111
Project: Hibernate3
Issue Type: Bug
Components: core
Affects Versions: 3.2.6, 3.2.5
Environment: Hibernate-3.2.6, Oracle 9i, IBM WebSphere 6.0.2.17 using JTATransactions
Reporter: Felix von Delius
Priority: Critical
In our in-container-configuration (WebSphere 6.0.2.x), we get the following Exception since moving from Hibernate 3.1.3 to 3.2.6 (Problem also occurs with 3.2.5):
Caused by: com.ing.diba.mws.tcore.exception.logging.ConvertedException: org.hibernate.TransactionException: could not register synchronization with JTA Transa
ctionManager [Error code: MWS-6001: "Technischer Fehler"]
at org.hibernate.jdbc.JDBCContext.registerSynchronizationIfPossible(JDBCContext.java:185)
at org.hibernate.jdbc.JDBCContext.<init>(JDBCContext.java:76)
at org.hibernate.impl.SessionImpl.<init>(SessionImpl.java:213)
at org.hibernate.impl.SessionFactoryImpl.openSession(SessionFactoryImpl.java:473)
at org.hibernate.impl.SessionFactoryImpl.openSession(SessionFactoryImpl.java:497)
at org.hibernate.impl.SessionFactoryImpl.openSession(SessionFactoryImpl.java:505)
at com.ing.diba.mws.tcore.persistence.HibernateSessionSourceImpl.createPersistenceProvider(HibernateSessionSourceImpl.java:45)
...removed irrelevant lines...
at com.ing.diba.mws.tcore.service.remoting.ejb.EJSLocalStatelessRemoteInvoker_d8103d48.invoke(Unknown Source)
at com.ing.diba.mws.tcore.service.remoting.RemotingInterceptorLocalEJB.invoke(RemotingInterceptorLocalEJB.java:90)
... 57 more
Caused by: java.lang.UnsupportedOperationException
at org.hibernate.transaction.WebSphereExtendedJTATransactionLookup$TransactionManagerAdapter.getStatus(WebSphereExtendedJTATransactionLookup.java:87)
at org.hibernate.transaction.JTATransactionFactory.isTransactionInProgress(JTATransactionFactory.java:94)
at org.hibernate.jdbc.JDBCContext.isTransactionInProgress(JDBCContext.java:191)
at org.hibernate.jdbc.JDBCContext.registerSynchronizationIfPossible(JDBCContext.java:159)
... 154 more
Our hibernate configuration contains the following settings:
hibernate.transaction.manager_lookup_class=org.hibernate.transaction.WebSphereExtendedJTATransactionLookup
hibernate.transaction.factory_class=org.hibernate.transaction.JTATransactionFactory
It seems that getStatus() of the inner class TransactionManagerAdapter is invoked and throws the UnsupportedOperationException. Instead of doing that, it probably should delegate to the getStatus() method of the inner-inner class TransactionAdapter like this:
public int getStatus() throws SystemException {
return getTransaction().getStatus();
}
At least after patching that in Hibernate-3.2.6 and deploying the patched hibernate3.jar, the problem disappeared.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/hibernate/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the hibernate-issues
mailing list