Example usage for org.springframework.amqp.rabbit.listener BlockingQueueConsumer commitIfNecessary

List of usage examples for org.springframework.amqp.rabbit.listener BlockingQueueConsumer commitIfNecessary

Introduction

In this page you can find the example usage for org.springframework.amqp.rabbit.listener BlockingQueueConsumer commitIfNecessary.

Prototype

public boolean commitIfNecessary(boolean locallyTransacted) throws IOException 

Source Link

Document

Perform a commit or message acknowledgement, as appropriate.

Usage

From source file:org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.java

private boolean doReceiveAndExecute(BlockingQueueConsumer consumer) throws Throwable {

    Channel channel = consumer.getChannel();

    for (int i = 0; i < this.txSize; i++) {

        logger.trace("Waiting for message from consumer.");
        Message message = consumer.nextMessage(this.receiveTimeout);
        if (message == null) {
            break;
        }// ww w . ja  v a2 s .c  o  m
        try {
            executeListener(channel, message);
        } catch (ImmediateAcknowledgeAmqpException e) {
            break;
        } catch (Throwable ex) { //NOSONAR
            consumer.rollbackOnExceptionIfNecessary(ex);
            throw ex;
        }

    }

    return consumer.commitIfNecessary(isChannelLocallyTransacted(channel));

}