• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Tim Cooke
  • Ron McLeod
  • Jeanne Boyarsky
  • Paul Clapham
Sheriffs:
  • Liutauras Vilda
  • Henry Wong
  • Devaka Cooray
Saloon Keepers:
  • Tim Moores
  • Stephan van Hulst
  • Tim Holloway
  • Al Hobbs
  • Carey Brown
Bartenders:
  • Piet Souris
  • Mikalai Zaikin
  • Himai Minh

LocalTransaction J2CA0024E: Method rollback, within transaction branch ID

 
Greenhorn
Posts: 14
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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..
 
reply
    Bookmark Topic Watch Topic
  • New Topic