/* *************************************************************************************** * Copyright (C) 2006 EsperTech, Inc. All rights reserved. * * http://www.espertech.com/esper * * http://www.espertech.com * * ---------------------------------------------------------------------------------- * * The software in this package is published under the terms of the GPL license * * a copy of which has been included with this distribution in the license.txt file. * *************************************************************************************** */ package com.espertech.esperio.regression.adapter; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.context.support.AbstractXmlApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.springframework.jms.core.JmsTemplate; import javax.jms.JMSException; import javax.jms.MapMessage; import javax.jms.Message; import javax.jms.ObjectMessage; import java.util.Enumeration; import java.util.HashMap; public class SupportJMSReceiver { private static final Logger log = LoggerFactory.getLogger(SupportJMSReceiver.class); private AbstractXmlApplicationContext springContext; private JmsTemplate jmsTemplate; public static void main(String[] args) throws JMSException { SupportJMSReceiver receiver = new SupportJMSReceiver(); while (true) { Message msg = receiver.receiveMessage(); if (msg == null) { log.info(".main received no object"); continue; } print(msg); } } public SupportJMSReceiver() { springContext = new ClassPathXmlApplicationContext("regression/jms_activemq_spring.xml"); jmsTemplate = (JmsTemplate) springContext.getBean("jmsTemplate"); } public Message receiveMessage() throws JMSException { Message message = jmsTemplate.receive(); if (message != null) { message.acknowledge(); } return message; } public static void print(Message msg) throws JMSException { log.info(".print received message: " + msg.getJMSMessageID()); if (msg instanceof ObjectMessage) { ObjectMessage objMsg = (ObjectMessage) msg; log.info(".print object: " + objMsg.getObject().toString()); } else { MapMessage mapMsg = (MapMessage) msg; HashMap map = new HashMap(); Enumeration en = mapMsg.getMapNames(); while (en.hasMoreElements()) { String property = (String) en.nextElement(); Object mapObject = mapMsg.getObject(property); map.put(property, mapObject); } log.info(".print map: " + map); } } public void destroy() { springContext.destroy(); } }