| Author |
LocalTransaction J2CA0024E: Method rollback, within transaction branch ID
|
Jimmy Kennedy
Greenhorn
Joined: Oct 28, 2003
Posts: 14
|
|
Hi, I have a written an MDB which listens on WebSphere MQ Queue Connection Factory .In ejb-jar.xml ,I set trans-attribute for onMessage method to be Not Supported. In MDB ,onMessage() I have written this code try{ if(msg instanceof TextMessage){ String msgText = ((TextMessage)msg).getText(); // this code basically reads input text and in turn make a database call and get some data. EQLParser objparser = EQLParser.getInstance(); boolean flag = objparser.log(msgText); if(!flag){ log.info("Due to certain errors ,msg failed to log "); } }}catch(Exception e){ System.out.println("DEBUG MDB Exception ::::"+e.getMessage()); } It works fine ,as the requirment but after onMessage method ,Container throws an exception as shown below: [11/2/03 19:26:55:935 EST] 1950eab2 LocalTransact E J2CA0024E: Method rollback, within transaction branch ID <null> of resource pool jdbc/oracleDSN, caught com.ibm.ws.exception.WsException: DSRA0080E: An exception was received by the Data Store Adapter. See original exception message: Use explicit XA call. at com.ibm.ws.rsadapter.exceptions.DataStoreAdapterException.<init>(DataStoreAdapterException.java:251) at com.ibm.ws.rsadapter.exceptions.DataStoreAdapterException.<init>(DataStoreAdapterException.java:172) at com.ibm.ws.rsadapter.exceptions.DataStoreAdapterException.<init>(DataStoreAdapterException.java:125) at com.ibm.ws.rsadapter.AdapterUtil.translateSQLException(AdapterUtil.java:904) at com.ibm.ws.rsadapter.spi.WSRdbSpiLocalTransactionImpl.rollback(WSRdbSpiLocalTransactionImpl.java:297) at com.ibm.ejs.j2c.LocalTransactionWrapper.rollback(LocalTransactionWrapper.java:307) at com.ibm.ws.LocalTransaction.LocalTranCoordImpl.cleanup(LocalTranCoordImpl.java(Compiled Code)) at com.ibm.ejs.csi.TranStrategy.commit(TranStrategy.java:534) at com.ibm.ejs.csi.TranStrategy.postInvoke(TranStrategy.java:144) at com.ibm.ejs.csi.NotSupported.postInvoke(NotSupported.java:91) at com.ibm.ejs.csi.TransactionControlImpl.postInvoke(TransactionControlImpl.java(Compiled Code)) at com.ibm.ejs.container.EJSContainer.postInvoke(EJSContainer.java(Compiled Code)) at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:101) at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:120) at com.ibm.ejs.jms.listener.ServerSession.run(ServerSession.java:372) at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:593) ---- Begin backtrace for nested exception java.sql.SQLException: Use explicit XA call at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:114) at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:156) at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:219) at oracle.jdbc.driver.OracleConnection.rollback(OracleConnection.java:500) at com.ibm.ws.rsadapter.spi.WSRdbSpiLocalTransactionImpl.rollback(WSRdbSpiLocalTransactionImpl.java:280) at com.ibm.ejs.j2c.LocalTransactionWrapper.rollback(LocalTransactionWrapper.java:307) at com.ibm.ws.LocalTransaction.LocalTranCoordImpl.cleanup(LocalTranCoordImpl.java(Compiled Code)) at com.ibm.ejs.csi.TranStrategy.commit(TranStrategy.java:534) at com.ibm.ejs.csi.TranStrategy.postInvoke(TranStrategy.java:144) at com.ibm.ejs.csi.NotSupported.postInvoke(NotSupported.java:91) at com.ibm.ejs.csi.TransactionControlImpl.postInvoke(TransactionControlImpl.java(Compiled Code)) at com.ibm.ejs.container.EJSContainer.postInvoke(EJSContainer.java(Compiled Code)) at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:101) at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:120) at com.ibm.ejs.jms.listener.ServerSession.run(ServerSession.java:372) at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:593) and threw a XAException. Anyone knows what it exactly means...and how to solve this problem..
|
 |
 |
|
|
subject: LocalTransaction J2CA0024E: Method rollback, within transaction branch ID
|
|
|