Example usage for org.springframework.jms.listener DefaultMessageListenerContainer setAcceptMessagesWhileStopping

List of usage examples for org.springframework.jms.listener DefaultMessageListenerContainer setAcceptMessagesWhileStopping

Introduction

In this page you can find the example usage for org.springframework.jms.listener DefaultMessageListenerContainer setAcceptMessagesWhileStopping.

Prototype

public void setAcceptMessagesWhileStopping(boolean acceptMessagesWhileStopping) 

Source Link

Document

Set whether to accept received messages while the listener container in the process of stopping.

Usage

From source file:com.ruyicai.msgcenter.jms.WithoutTMJmsConfiguration.java

protected void configureMessageListenerContainer(DefaultMessageListenerContainer container,
        JmsEndpoint endpoint) throws Exception {
    container.setConnectionFactory(getListenerConnectionFactory());
    if (endpoint instanceof DestinationEndpoint) {
        container.setDestinationResolver(createDestinationResolver((DestinationEndpoint) endpoint));
    } else if (destinationResolver != null) {
        container.setDestinationResolver(destinationResolver);
    }/*from w ww. j a v  a 2  s. co  m*/
    container.setAutoStartup(autoStartup);

    if (durableSubscriptionName != null) {
        container.setDurableSubscriptionName(durableSubscriptionName);
        container.setSubscriptionDurable(true);
    }
    if (clientId != null) {
        container.setClientId(clientId);
    }

    if (exceptionListener != null) {
        container.setExceptionListener(exceptionListener);
    }

    container.setAcceptMessagesWhileStopping(acceptMessagesWhileStopping);
    container.setExposeListenerSession(exposeListenerSession);
    container.setSessionTransacted(transacted);

    if (endpoint.getSelector() != null && endpoint.getSelector().length() != 0) {
        container.setMessageSelector(endpoint.getSelector());
    }

    if (concurrentConsumers >= 0) {
        container.setConcurrentConsumers(concurrentConsumers);
    }

    if (cacheLevel >= 0) {
        container.setCacheLevel(cacheLevel);
    } else if (cacheLevelName != null) {
        container.setCacheLevelName(cacheLevelName);
    } else {
        container.setCacheLevel(defaultCacheLevel(endpoint));
    }

    if (idleTaskExecutionLimit >= 0) {
        container.setIdleTaskExecutionLimit(idleTaskExecutionLimit);
    }
    if (maxConcurrentConsumers > 0) {
        if (maxConcurrentConsumers < concurrentConsumers) {
            throw new IllegalArgumentException("Property maxConcurrentConsumers: " + maxConcurrentConsumers
                    + " must be higher than concurrentConsumers: " + concurrentConsumers);
        }
        container.setMaxConcurrentConsumers(maxConcurrentConsumers);
    }
    if (maxMessagesPerTask >= 0) {
        container.setMaxMessagesPerTask(maxMessagesPerTask);
    }
    container.setPubSubNoLocal(pubSubNoLocal);
    if (receiveTimeout >= 0) {
        container.setReceiveTimeout(receiveTimeout);
    }
    if (recoveryInterval >= 0) {
        container.setRecoveryInterval(recoveryInterval);
    }
    if (taskExecutor != null) {
        container.setTaskExecutor(taskExecutor);
    }
    if (transactionName != null) {
        container.setTransactionName(transactionName);
    }
    if (transactionTimeout >= 0) {
        container.setTransactionTimeout(transactionTimeout);
    }
}