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

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

Introduction

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

Prototype

public void setDestination(@Nullable Destination destination) 

Source Link

Document

Set the destination to receive messages from.

Usage

From source file:ch.algotrader.event.TopicEventDumper.java

public static void main(String... args) throws Exception {

    SingleConnectionFactory jmsActiveMQFactory = new SingleConnectionFactory(
            new ActiveMQConnectionFactory("tcp://localhost:61616"));
    jmsActiveMQFactory.afterPropertiesSet();
    jmsActiveMQFactory.resetConnection();

    ActiveMQTopic topic = new ActiveMQTopic(">");

    DefaultMessageListenerContainer messageListenerContainer = new DefaultMessageListenerContainer();
    messageListenerContainer.setDestination(topic);
    messageListenerContainer.setConnectionFactory(jmsActiveMQFactory);
    messageListenerContainer.setSubscriptionShared(false);
    messageListenerContainer.setCacheLevel(DefaultMessageListenerContainer.CACHE_CONSUMER);

    messageListenerContainer.setMessageListener((MessageListener) message -> {
        try {/*from  w  w  w. j  av  a2  s.c  o  m*/
            Destination destination = message.getJMSDestination();
            if (message instanceof TextMessage) {
                TextMessage textMessage = (TextMessage) message;
                System.out.println(destination + " -> " + textMessage.getText());
            } else if (message instanceof BytesMessage) {
                BytesMessage bytesMessage = (BytesMessage) message;
                byte[] bytes = new byte[(int) bytesMessage.getBodyLength()];
                bytesMessage.readBytes(bytes);
                System.out.println(destination + " -> " + new String(bytes, Charsets.UTF_8));
            }
        } catch (JMSException ex) {
            throw new UnrecoverableCoreException(ex);
        }
    });

    messageListenerContainer.initialize();
    messageListenerContainer.start();

    System.out.println("Dumping messages from all topics");

    Runtime.getRuntime().addShutdownHook(new Thread(messageListenerContainer::stop));

    Thread.sleep(Long.MAX_VALUE);
}

From source file:siia.jms.MessageListenerContainerDemo.java

public static void main(String[] args) {
    // establish common resources
    ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("vm://localhost");
    Destination queue = new ActiveMQQueue("siia.queue");
    // setup and start listener container
    DefaultMessageListenerContainer container = new DefaultMessageListenerContainer();
    container.setConnectionFactory(connectionFactory);
    container.setDestination(queue);
    container.setMessageListener(new MessageListener() {
        public void onMessage(Message message) {
            try {
                if (!(message instanceof TextMessage)) {
                    throw new IllegalArgumentException("expected TextMessage");
                }/*w w  w . j  av  a 2s  .c om*/
                System.out.println("received: " + ((TextMessage) message).getText());
            } catch (JMSException e) {
                throw new RuntimeException(e);
            }
        }
    });
    container.afterPropertiesSet();
    container.start();
    // send Message
    JmsTemplate jmsTemplate = new JmsTemplate(connectionFactory);
    jmsTemplate.setDefaultDestination(queue);
    jmsTemplate.convertAndSend("Hello World");
}

From source file:org.nebulaframework.util.jms.JMSRemotingSupport.java

/**
 * Remote enables a given object as a remote JMS Service
 * through a given Service Interface./*from   ww w  .  j a  va 2s . c  o m*/
 * 
 * @param <T> Type of Service Interface
 * @param cf JMS Connection Factory
 * @param queueName Name of JMS Queue used for communication
 * @param service Service object to be remote enabled
 * @param serviceClass Service Interface Class
 * @return Message Listener Container
 */
public static <T> DefaultMessageListenerContainer createService(ConnectionFactory cf, String queueName,
        T service, Class<T> serviceClass) {

    ActiveMQQueue queue = new ActiveMQQueue(queueName);

    // Export Service
    JmsInvokerServiceExporter exporter = new JmsInvokerServiceExporter();
    exporter.setServiceInterface(serviceClass);
    exporter.setService(service);
    exporter.afterPropertiesSet();

    // Set up MessageListenerContainer
    DefaultMessageListenerContainer container = new DefaultMessageListenerContainer();
    container.setConnectionFactory(cf);
    container.setDestination(queue);
    container.setMessageListener(exporter);
    container.afterPropertiesSet();

    return container;
}

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);//  ww w  .  j  a  v a2s .  c  om
    container.setPubSubNoLocal(true);
    container.setMessageListener(userRegisterListener);
    container.setSessionAcknowledgeMode(Session.AUTO_ACKNOWLEDGE);
    return container;
}

From source file:com.alliander.osgp.acceptancetests.config.messaging.DomainAdminMessagingConfig.java

@Bean(name = "domainAdminIncomingWebServiceRequestsMessageListenerContainer")
public DefaultMessageListenerContainer incomingWebServiceRequestsMessageListenerContainer() {
    final DefaultMessageListenerContainer messageListenerContainer = new DefaultMessageListenerContainer();
    messageListenerContainer.setConnectionFactory(MessagingConfig.pooledConnectionFactory());
    messageListenerContainer.setDestination(this.incomingWebServiceRequestsQueue());
    messageListenerContainer.setConcurrentConsumers(MessagingConfig.CONCURRENT_CONSUMERS);
    messageListenerContainer.setMaxConcurrentConsumers(MessagingConfig.MAX_CONCURRENT_CONSUMERS);
    messageListenerContainer.setMessageListener(this.incomingWebServiceRequestMessageListener);
    messageListenerContainer.setSessionTransacted(true);
    return messageListenerContainer;
}

From source file:com.alliander.osgp.acceptancetests.config.messaging.DomainAdminMessagingConfig.java

@Bean(name = "domainAdminIncomingOsgpCoreResponsesMessageListenerContainer")
public DefaultMessageListenerContainer incomingOsgpCoreResponsesMessageListenerContainer() {
    final DefaultMessageListenerContainer messageListenerContainer = new DefaultMessageListenerContainer();
    messageListenerContainer.setConnectionFactory(MessagingConfig.pooledConnectionFactory());
    messageListenerContainer.setDestination(this.incomingOsgpCoreResponsesQueue());
    messageListenerContainer.setConcurrentConsumers(MessagingConfig.CONCURRENT_CONSUMERS);
    messageListenerContainer.setMaxConcurrentConsumers(MessagingConfig.MAX_CONCURRENT_CONSUMERS);
    messageListenerContainer.setMessageListener(this.incomingOsgpCoreResponseMessageListener);
    messageListenerContainer.setSessionTransacted(true);
    return messageListenerContainer;
}

From source file:com.alliander.osgp.acceptancetests.config.messaging.DomainAdminMessagingConfig.java

@Bean(name = "domainAdminIncomingOsgpCoreRequestsMessageListenerContainer")
public DefaultMessageListenerContainer incomingOsgpCoreRequestsMessageListenerContainer() {
    final DefaultMessageListenerContainer messageListenerContainer = new DefaultMessageListenerContainer();
    messageListenerContainer.setConnectionFactory(MessagingConfig.pooledConnectionFactory());
    messageListenerContainer.setDestination(this.incomingOsgpCoreRequestsQueue());
    messageListenerContainer.setConcurrentConsumers(MessagingConfig.CONCURRENT_CONSUMERS);
    messageListenerContainer.setMaxConcurrentConsumers(MessagingConfig.MAX_CONCURRENT_CONSUMERS);
    messageListenerContainer.setMessageListener(this.incomingOsgpCoreRequestMessageListener);
    messageListenerContainer.setSessionTransacted(true);
    return messageListenerContainer;
}

From source file:com.alliander.osgp.acceptancetests.config.messaging.DomainTariffSwitchingMessagingConfig.java

@Bean(name = "domainTariffSwitchingIncomingWebServiceRequestsMessageListenerContainer")
public DefaultMessageListenerContainer incomingWebServiceRequestsMessageListenerContainer() {
    final DefaultMessageListenerContainer messageListenerContainer = new DefaultMessageListenerContainer();
    messageListenerContainer.setConnectionFactory(MessagingConfig.pooledConnectionFactory());
    messageListenerContainer.setDestination(this.incomingWebServiceRequestsQueue());
    messageListenerContainer.setConcurrentConsumers(MessagingConfig.CONCURRENT_CONSUMERS);
    messageListenerContainer.setMaxConcurrentConsumers(MessagingConfig.MAX_CONCURRENT_CONSUMERS);
    messageListenerContainer.setMessageListener(this.incomingWebServiceRequestMessageListener);
    messageListenerContainer.setSessionTransacted(true);
    return messageListenerContainer;
}

From source file:com.alliander.osgp.acceptancetests.config.messaging.DomainTariffSwitchingMessagingConfig.java

@Bean(name = "domainTariffSwitchingIncomingOsgpCoreResponsesMessageListenerContainer")
public DefaultMessageListenerContainer incomingOsgpCoreResponsesMessageListenerContainer() {
    final DefaultMessageListenerContainer messageListenerContainer = new DefaultMessageListenerContainer();
    messageListenerContainer.setConnectionFactory(MessagingConfig.pooledConnectionFactory());
    messageListenerContainer.setDestination(this.incomingOsgpCoreResponsesQueue());
    messageListenerContainer.setConcurrentConsumers(MessagingConfig.CONCURRENT_CONSUMERS);
    messageListenerContainer.setMaxConcurrentConsumers(MessagingConfig.MAX_CONCURRENT_CONSUMERS);
    messageListenerContainer.setMessageListener(this.incomingOsgpCoreResponseMessageListener);
    messageListenerContainer.setSessionTransacted(true);
    return messageListenerContainer;
}

From source file:com.alliander.osgp.acceptancetests.config.messaging.DomainTariffSwitchingMessagingConfig.java

@Bean(name = "domainTariffSwitchingIncomingOsgpCoreRequestsMessageListenerContainer")
public DefaultMessageListenerContainer incomingOsgpCoreRequestsMessageListenerContainer() {
    final DefaultMessageListenerContainer messageListenerContainer = new DefaultMessageListenerContainer();
    messageListenerContainer.setConnectionFactory(MessagingConfig.pooledConnectionFactory());
    messageListenerContainer.setDestination(this.incomingOsgpCoreRequestsQueue());
    messageListenerContainer.setConcurrentConsumers(MessagingConfig.CONCURRENT_CONSUMERS);
    messageListenerContainer.setMaxConcurrentConsumers(MessagingConfig.MAX_CONCURRENT_CONSUMERS);
    messageListenerContainer.setMessageListener(this.incomingOsgpCoreRequestMessageListener);
    messageListenerContainer.setSessionTransacted(true);
    return messageListenerContainer;
}