Hi, I am implementing ActiveMQ Middleware using Queue based JMS . I am facing individual message Rollback issue from last few days
There are multiple message posted to my activemq and one i start activemq my session starts reading messages.I am using individual message acknowledgement. i.e qConnection.createQueueSession(false, ActiveMQSession.INDIVIDUAL_ACKNOWLEDGE); Once i receive message in my message listener i am sending message to child thread and processing message there and processing is completed i am sending acknowledgement. But problem here is if any exception comes in middle of my message i want to reattempt for that specific message. I have tryed session.recover here but its recovering all messages on that session which is wrong Please look into my message consumer and listener Consumer class outline public QueueSession session = null; public QueueConnection qConnection = null; ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(url); qConnection = connectionFactory.createQueueConnection(); session = qConnection.createQueueSession(false, ActiveMQSession.INDIVIDUAL_ACKNOWLEDGE); QueueReceiver _receiver = session.createReceiver(getTransactionQueue(session)); _receiver.setMessageListener(getMessageListener()); //my message listener public void onMessage(Message message) { //starting chaild thread etc if(doprocess()){ session.acknowledge(); } else { //want to roll back/reattempt specific message } } Please help me to resolve this issue Thanks & Regards Srikanth Reddy