[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