I'm facing problem in transaction rollback(unable to push the back the message to original queue).
MDB(Container managed TX) deployed in WAS v7 which is listening to remote queue configured in WebSphere MQ v7.
When I'm marking the MessageDrivenContext.setRollbackOnly() i can see the below details in the ffdc WAS logs
com.ibm.websphere.csi.CSITransactionRolledbackException: Transaction marked rollbackonly at com.ibm.ejs.csi.TranStrategy.postInvoke(TranStrategy.java:222) at com.ibm.ejs.csi.TransactionControlImpl.postInvoke(TransactionControlImpl.java:561) at com.ibm.ejs.container.EJSContainer.postInvoke(EJSContainer.java:4512) at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:107) at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:132) at com.ibm.ejs.jms.listener.ServerSession.run(ServerSession.java:496) at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1527)
it looks like transaction is getting rolled back successfully but i'm unable to see the same message in the Queue.(Queue is empty/message is deleted).
Can some one tell how do i retain the message in the Queue and process it again ???