List of usage examples for org.springframework.jms.listener DefaultMessageListenerContainer initialize
@Override public void initialize()
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 {// www. ja va2 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:terrastore.event.impl.ActiveMQEventBus.java
private void createConsumer(Event event) { String queueName = TERRASTORE_QUEUE_PREFIX + event.getBucket(); if (!consumers.containsKey(queueName)) { stateLock.lock();//w w w . j a va 2 s . co m try { if (!shutdown && !consumers.containsKey(queueName)) { DefaultMessageListenerContainer consumer = new DefaultMessageListenerContainer(); consumer.setConnectionFactory(jmsConnectionFactory); consumer.setSessionTransacted(true); consumer.setMessageListener(new EventProcessor(eventListeners, actionExecutor)); consumer.setDestinationName(queueName); consumer.start(); consumer.initialize(); consumers.put(queueName, consumer); } } finally { stateLock.unlock(); } } }
From source file:terrastore.event.impl.ActiveMQEventBus.java
private void initConsumers(String broker) throws Exception { ActiveMQConnection connection = null; DestinationSource destinations = null; try {/*from w ww . j ava 2s. c o m*/ connection = ActiveMQConnection.makeConnection(broker); connection.start(); // destinations = connection.getDestinationSource(); destinations.start(); // Set<ActiveMQQueue> queues = destinations.getQueues(); for (ActiveMQQueue queue : queues) { if (queue.getQueueName().startsWith(TERRASTORE_QUEUE_PREFIX)) { LOG.info("Listening to queue: {}", queue.getQueueName()); DefaultMessageListenerContainer consumer = new DefaultMessageListenerContainer(); consumer.setConnectionFactory(jmsConnectionFactory); consumer.setSessionTransacted(true); consumer.setMessageListener(new EventProcessor(eventListeners, actionExecutor)); consumer.setDestinationName(queue.getQueueName()); consumer.start(); consumer.initialize(); consumers.put(queue.getQueueName(), consumer); } } } finally { if (destinations != null) { destinations.stop(); } if (connection != null) { connection.stop(); connection.close(); } } }
From source file:ch.algotrader.service.SubscriptionServiceImpl.java
private void updateMessageSelector(final DefaultMessageListenerContainer genericMessageListenerContainer, String messageSelector) { genericMessageListenerContainer.setMessageSelector(messageSelector); // restart the container (must do this in a separate thread to prevent dead-locks) (new Thread() { @Override/*w w w . j a v a 2 s. co m*/ public void run() { genericMessageListenerContainer.stop(); genericMessageListenerContainer.shutdown(); genericMessageListenerContainer.start(); genericMessageListenerContainer.initialize(); } }).start(); }