package com.bsb.btm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.PlatformTransactionManager; import javax.jms.Message; import javax.jms.MessageListener; /** * A {@link MessageListener} that will rollback the processing of the message * without creating a requires new transaction. * * @author Stephane Nicoll */ public class RollbackOnlyMessageListener implements MessageListener { private final Logger logger = LoggerFactory.getLogger(RollbackOnlyMessageListener.class); private PlatformTransactionManager transactionManager; @Override public void onMessage(Message message) { logger.info("Receiving incoming message."); final MessageHandler messageHandler = new MessageHandler(transactionManager, false); messageHandler.handleMessage(message); } @Autowired public void setTransactionManager(PlatformTransactionManager transactionManager) { this.transactionManager = transactionManager; } }