| 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 |