Hibernate 3.2.6 issue with WAS 8.5

Description

We are using Hibernate3.2.6 as the JPA for our application. The application server is WAS8.5.5. We use ejb3 for transactional support. Stateless session beans uses container manager transaction with transaction attribute "REQUIRED". After each transaction, commit happens and I can see the changes in the DB. But after every commit, an exception is generated as follows:
java.lang.UnsupportedOperationException
at org.hibernate.transaction.WebSphereExtendedJTATransactionLookup$TransactionManagerAdapter.setRollbackOnly(WebSphereExtendedJTATransactionLookup.java:103)
at org.hibernate.ejb.AbstractEntityManagerImpl.markAsRollback(AbstractEntityManagerImpl.java:440)
at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:595)
at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:637)
at org.hibernate.ejb.AbstractEntityManagerImpl.clear(AbstractEntityManagerImpl.java:348)
at com.ibm.ws.jpa.management.JPAEMPoolHelper.prepareForPooling(JPAEMPoolHelper.java:166)
at com.ibm.ws.jpa.management.OpenJPAEMPoolHelper.prepareForPooling(OpenJPAEMPoolHelper.java:41)
at com.ibm.ws.jpa.management.JPAPUnitInfo.prepareForPooling(JPAPUnitInfo.java:2106)
at com.ibm.ws.jpa.management.JPAEMPool.putEntityManager(JPAEMPool.java:195)
at com.ibm.ws.jpa.management.JPATxEntityManager.closeTxEntityManager(JPATxEntityManager.java:345)
at com.ibm.ws.jpa.management.JPATxEmInvocation.afterCompletion(JPATxEmInvocation.java:98)
at com.ibm.tx.jta.impl.RegisteredSyncs.coreDistributeAfter(RegisteredSyncs.java:359)
at com.ibm.ws.tx.jta.RegisteredSyncs.distributeAfter(RegisteredSyncs.java:320)
at com.ibm.tx.jta.embeddable.impl.EmbeddableTransactionImpl.distributeAfter(EmbeddableTransactionImpl.java:208)
at com.ibm.tx.jta.impl.TransactionImpl.postCompletion(TransactionImpl.java:2970)
at com.ibm.tx.jta.impl.TransactionImpl.internalRollback(TransactionImpl.java:2019)
at com.ibm.tx.jta.impl.TransactionImpl.internalRollback(TransactionImpl.java:1958)
at com.ibm.tx.jta.impl.TransactionImpl.rollback(TransactionImpl.java:1360)
at com.ibm.ws.tx.jta.TransactionImpl.rollback(TransactionImpl.java:3657)
at com.ibm.ws.tx.jta.TranManagerImpl.rollback(TranManagerImpl.java:479)
at com.ibm.tx.jta.impl.TranManagerSet.rollback(TranManagerSet.java:216)
at com.ibm.ejs.csi.TranStrategy.rollback(TranStrategy.java:1179)
at com.ibm.ejs.csi.TranStrategy.postInvoke(TranStrategy.java:204)
at com.ibm.ejs.csi.TransactionControlImpl.postInvoke(TransactionControlImpl.java:567)
at com.ibm.ejs.container.EJSContainer.postInvoke(EJSContainer.java:4486)
at com.ual.cgm.model.planesidegatesview.facade.EJSLocal0SLFlifoEventControllerEJB_3365f57b.handleFlifoEventData(EJSLocal0SLFlifoEventControllerEJB_3365f57b.java)
at com.ual.cgm.model.externalinterface.applicationservice.ExternalInterfaceManager.handleFlifoEvent(ExternalInterfaceManager.java:6444)
at com.ual.cgm.mdb.FLIFOEventHandlerMDB.onMessage(FLIFOEventHandlerMDB.java:146)
at com.ibm.ejs.jms.listener.MDBWrapper$PriviledgedOnMessage.run(MDBWrapper.java:309)
at com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:63)
at com.ibm.ejs.jms.listener.MDBWrapper.callOnMessage(MDBWrapper.java:266)

— Flow is as follows:
1. We have an MDB which does not participate in the transaction and MDB calls stateless session beans
2. Stateless session beans are container managed ones

Post commit, setRollbackOnly is called which throws the above exception

Activity

Show:

Sanne GrinoveroJune 7, 2019 at 6:47 PM

This version of Hibernate is no longer maintained.

Christian BeikovFebruary 28, 2017 at 11:23 PM

When I last used Websphere with Hibernate 4.3, I had to implement a custom JTATransactionLookup that has support for all the operations. The implementation shipped with Hibernate lacks some features like the setRollbackOnly(). I'm sure you will find an implementation when googling a bit. If not, I can try to dig my old one up.

Former userSeptember 26, 2016 at 7:45 PM

5.0 is the oldest version that is still actively maintained, but bugfixes are limited to critical bugs and regressions. I suggest you upgrade to 5.1 or 5.2.

Ramasamy, GeetaSeptember 23, 2016 at 8:26 PM

Thank you for the response. So i need to upgrade the hibernate to version 5?

Former userSeptember 23, 2016 at 8:16 PM

, this is a very old version of Entity Manager that is no longer maintained. Please verify if you have the same issue using Hibernate ORM 5.0 (which includes Entity Manager).

Won't Fix

Details

Assignee

Reporter

Labels

Original estimate

Time tracking

No time logged168h remaining

Affects versions

Priority

Created September 23, 2016 at 7:34 PM
Updated June 7, 2019 at 6:47 PM
Resolved June 7, 2019 at 6:47 PM

Flag notifications