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

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

Introduction

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

Prototype

public void setPubSubNoLocal(boolean pubSubNoLocal) 

Source Link

Document

Set whether to inhibit the delivery of messages published by its own connection.

Usage

From source file:com.jim.im.group.config.GatewayUserRegisterConfig.java

@Bean
public MessageListenerContainer hornetQMessageListenerContainer() {
    Map<String, Object> map = new HashMap<String, Object>();
    map.put(TransportConstants.HOST_PROP_NAME, hornetq_host);
    map.put(TransportConstants.PORT_PROP_NAME, hornetq_port);
    TransportConfiguration transportConfiguration = new TransportConfiguration(
            NettyConnectorFactory.class.getName(), map);

    HornetQConnectionFactory hornetQConnectionFactory = HornetQJMSClient
            .createConnectionFactoryWithoutHA(JMSFactoryType.CF, transportConfiguration);

    DefaultMessageListenerContainer container = new DefaultMessageListenerContainer();
    container.setConnectionFactory((ConnectionFactory) hornetQConnectionFactory);
    container.setDestination(HornetQJMSClient.createTopic(IMConstant.GATEWAY_USERREGISTER_TOPIC));
    container.setPubSubDomain(true);//from   ww w.j a  va2s  .c om
    container.setPubSubNoLocal(true);
    container.setMessageListener(userRegisterListener);
    container.setSessionAcknowledgeMode(Session.AUTO_ACKNOWLEDGE);
    return container;
}

From source file:com.jim.im.config.GenericMQConfig.java

/**
 * ?????,MQ???/* ww w.j av a 2s  .  c om*/
 *
 * @param topicName
 * @param messageListener
 * @return
 */
public MessageListenerContainer mqMessageReceiver(String topicName, MessageListener messageListener) {
    DefaultMessageListenerContainer container = new DefaultMessageListenerContainer();
    container.setConnectionFactory(jmsConnectionFactory());
    container.setDestinationName(topicName);
    container.setPubSubDomain(true);
    container.setPubSubNoLocal(true);
    container.setMessageListener(messageListener);
    container.setSessionAcknowledgeMode(Session.AUTO_ACKNOWLEDGE);
    return container;
}

From source file:org.apache.servicemix.jms.endpoints.JmsConsumerEndpoint.java

private AbstractMessageListenerContainer createDefaultMessageListenerContainer() {
    final DefaultMessageListenerContainer cont;
    if (isJms102()) {
        cont = new DefaultMessageListenerContainer102();
    } else {//from   w w  w .ja v a 2 s .c  o  m
        cont = new DefaultMessageListenerContainer();
    }
    cont.setCacheLevel(cacheLevel);
    cont.setConcurrentConsumers(concurrentConsumers);
    cont.setMaxMessagesPerTask(maxMessagesPerTask);
    cont.setPubSubNoLocal(pubSubNoLocal);
    cont.setReceiveTimeout(receiveTimeout);
    cont.setRecoveryInterval(recoveryInterval);
    if (TRANSACTED_XA.equals(transacted)) {
        cont.setSessionTransacted(true);
        TransactionManager tm = (TransactionManager) getContext().getTransactionManager();
        if (tm == null) {
            throw new IllegalStateException("No TransactionManager available");
        } else if (tm instanceof PlatformTransactionManager) {
            cont.setTransactionManager((PlatformTransactionManager) tm);
        } else {
            cont.setTransactionManager(new JtaTransactionManager(tm));
        }
    } else if (TRANSACTED_JMS.equals(transacted)) {
        cont.setSessionTransacted(true);
        if (isJms102()) {
            cont.setTransactionManager(new JmsTransactionManager102(getConnectionFactory(), isPubSubDomain()));
        } else {
            cont.setTransactionManager(new JmsTransactionManager(getConnectionFactory()));
        }
    }
    return cont;
}

From source file:org.apache.servicemix.jms.endpoints.JmsProviderEndpoint.java

/**
 * Create the message listener container to receive response messages.
 * //from w  w w.  j  ava2s . c om
 * @return
 */
protected AbstractMessageListenerContainer createListenerContainer() {
    DefaultMessageListenerContainer cont;
    if (isJms102()) {
        cont = new DefaultMessageListenerContainer102();
    } else {
        cont = new DefaultMessageListenerContainer();
    }
    cont.setConnectionFactory(getConnectionFactory());
    cont.setDestination(getReplyDestination());
    cont.setPubSubDomain(isPubSubDomain());
    cont.setPubSubNoLocal(isPubSubNoLocal());
    cont.setMessageListener(new MessageListener() {
        public void onMessage(Message message) {
            JmsProviderEndpoint.this.onMessage(message);
        }
    });
    cont.setAutoStartup(false);
    cont.afterPropertiesSet();
    return cont;
}

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 . ja  v  a2s .  c  o  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);
    }
}

From source file:org.apache.camel.component.jms.JmsConfiguration.java

protected void configureMessageListenerContainer(AbstractMessageListenerContainer 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 w w. j  a  va 2s.  co  m
    container.setAutoStartup(autoStartup);

    if (durableSubscriptionName != null) {
        container.setDurableSubscriptionName(durableSubscriptionName);
        container.setSubscriptionDurable(true);
    }
    if (durableSubscriptionName != null && clientId == null) {
        throw new IllegalArgumentException(
                "ClientId must be configured when subscription is durable for " + endpoint);
    }
    if (clientId != null) {
        container.setClientId(clientId);
    }

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

    container.setAcceptMessagesWhileStopping(acceptMessagesWhileStopping);
    container.setExposeListenerSession(exposeListenerSession);
    container.setSessionTransacted(transacted);
    if (transacted) {
        container.setSessionAcknowledgeMode(Session.SESSION_TRANSACTED);
    } else {
        if (acknowledgementMode >= 0) {
            container.setSessionAcknowledgeMode(acknowledgementMode);
        } else if (acknowledgementModeName != null) {
            container.setSessionAcknowledgeModeName(acknowledgementModeName);
        }
    }

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

    if (container instanceof DefaultMessageListenerContainer) {
        // this includes DefaultMessageListenerContainer102
        DefaultMessageListenerContainer listenerContainer = (DefaultMessageListenerContainer) container;
        if (concurrentConsumers >= 0) {
            listenerContainer.setConcurrentConsumers(concurrentConsumers);
        }

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

        if (idleTaskExecutionLimit >= 0) {
            listenerContainer.setIdleTaskExecutionLimit(idleTaskExecutionLimit);
        }
        if (maxConcurrentConsumers > 0) {
            if (maxConcurrentConsumers < concurrentConsumers) {
                throw new IllegalArgumentException("Property maxConcurrentConsumers: " + maxConcurrentConsumers
                        + " must be higher than concurrentConsumers: " + concurrentConsumers);
            }
            listenerContainer.setMaxConcurrentConsumers(maxConcurrentConsumers);
        }
        if (maxMessagesPerTask >= 0) {
            listenerContainer.setMaxMessagesPerTask(maxMessagesPerTask);
        }
        listenerContainer.setPubSubNoLocal(pubSubNoLocal);
        if (receiveTimeout >= 0) {
            listenerContainer.setReceiveTimeout(receiveTimeout);
        }
        if (recoveryInterval >= 0) {
            listenerContainer.setRecoveryInterval(recoveryInterval);
        }
        if (taskExecutor != null) {
            listenerContainer.setTaskExecutor(taskExecutor);
        }
        PlatformTransactionManager tm = getTransactionManager();
        if (tm != null && transacted) {
            listenerContainer.setTransactionManager(tm);
        } else if (transacted) {
            throw new IllegalArgumentException(
                    "Property transacted is enabled but a transactionManager was not injected!");
        }
        if (transactionName != null) {
            listenerContainer.setTransactionName(transactionName);
        }
        if (transactionTimeout >= 0) {
            listenerContainer.setTransactionTimeout(transactionTimeout);
        }
        if (taskExecutor != null) {
            listenerContainer.setTaskExecutor(taskExecutor);
        } else if (taskExecutorSpring2 != null) {
            // use reflection to invoke to support spring 2 when JAR is compiled with Spring 3.0
            IntrospectionSupport.setProperty(listenerContainer, "taskExecutor",
                    endpoint.getTaskExecutorSpring2());
        }
    } else if (container instanceof SimpleMessageListenerContainer) {
        // this includes SimpleMessageListenerContainer102
        SimpleMessageListenerContainer listenerContainer = (SimpleMessageListenerContainer) container;
        if (concurrentConsumers >= 0) {
            listenerContainer.setConcurrentConsumers(concurrentConsumers);
        }
        listenerContainer.setPubSubNoLocal(pubSubNoLocal);
        if (taskExecutor != null) {
            listenerContainer.setTaskExecutor(taskExecutor);
        } else if (taskExecutorSpring2 != null) {
            // use reflection to invoke to support spring 2 when JAR is compiled with Spring 3.0
            IntrospectionSupport.setProperty(listenerContainer, "taskExecutor",
                    endpoint.getTaskExecutorSpring2());
        }
    }
}