|  | @ -1,117 +0,0 @@
 | 
	
		
			
				|  |  | package com.yihu.hos.common;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import com.yihu.hos.common.activeMq.ActiveMqConstants;
 | 
	
		
			
				|  |  | import com.yihu.hos.common.activeMq.ActivemqConfiguration;
 | 
	
		
			
				|  |  | import org.apache.activemq.ActiveMQConnectionFactory;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import javax.jms.*;
 | 
	
		
			
				|  |  | import java.util.Map;
 | 
	
		
			
				|  |  | import java.util.concurrent.ConcurrentHashMap;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | /**
 | 
	
		
			
				|  |  |  * @author HZY
 | 
	
		
			
				|  |  |  * @vsrsion 1.0
 | 
	
		
			
				|  |  |  * Created at 2016/8/22.
 | 
	
		
			
				|  |  |  */
 | 
	
		
			
				|  |  | //@Component
 | 
	
		
			
				|  |  | public class ActiveMqUtil {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     static ConnectionFactory connectionFactory;
 | 
	
		
			
				|  |  |     static Connection connection = null;
 | 
	
		
			
				|  |  |     static Session session;
 | 
	
		
			
				|  |  |     static Map<String, MessageProducer> sendQueues = new ConcurrentHashMap<String, MessageProducer>();
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     static Map<String, MessageConsumer> getQueues = new ConcurrentHashMap<String, MessageConsumer>();
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     static {
 | 
	
		
			
				|  |  |         ActivemqConfiguration configuration = new ActivemqConfiguration();
 | 
	
		
			
				|  |  |         connectionFactory = new ActiveMQConnectionFactory(
 | 
	
		
			
				|  |  |                 ActiveMqConstants.ACTIVE_MQ_USER,
 | 
	
		
			
				|  |  |                 ActiveMqConstants.ACTIVE_MQ_PASS,
 | 
	
		
			
				|  |  |                 ActiveMqConstants.ACTIVE_MQ_URI);
 | 
	
		
			
				|  |  |         try
 | 
	
		
			
				|  |  |         {
 | 
	
		
			
				|  |  |             connection = connectionFactory.createConnection();
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             connection.start();
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             session = connection.createSession(Boolean.FALSE.booleanValue(),
 | 
	
		
			
				|  |  |                     1);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         catch (Exception e) {
 | 
	
		
			
				|  |  |             e.printStackTrace();
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     static MessageProducer getMessageProducer(String name) {
 | 
	
		
			
				|  |  |         if (sendQueues.containsKey(name))
 | 
	
		
			
				|  |  |             return ((MessageProducer)sendQueues.get(name));
 | 
	
		
			
				|  |  |         try
 | 
	
		
			
				|  |  |         {
 | 
	
		
			
				|  |  |             Destination destination = session.createQueue(name);
 | 
	
		
			
				|  |  |             MessageProducer producer = session.createProducer(destination);
 | 
	
		
			
				|  |  |             sendQueues.put(name, producer);
 | 
	
		
			
				|  |  |             return producer;
 | 
	
		
			
				|  |  |         } catch (JMSException e) {
 | 
	
		
			
				|  |  |             e.printStackTrace();
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         return ((MessageProducer)sendQueues.get(name));
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     static MessageConsumer getMessageConsumer(String name) {
 | 
	
		
			
				|  |  |         if (getQueues.containsKey(name))
 | 
	
		
			
				|  |  |             return ((MessageConsumer)getQueues.get(name));
 | 
	
		
			
				|  |  |         try
 | 
	
		
			
				|  |  |         {
 | 
	
		
			
				|  |  |             Destination destination = session.createQueue(name);
 | 
	
		
			
				|  |  |             MessageConsumer consumer = session.createConsumer(destination);
 | 
	
		
			
				|  |  |             getQueues.put(name, consumer);
 | 
	
		
			
				|  |  |             return consumer;
 | 
	
		
			
				|  |  |         } catch (JMSException e) {
 | 
	
		
			
				|  |  |             e.printStackTrace();
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         return ((MessageConsumer)getQueues.get(name));
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     public static void sendMessage(String queue, String text) {
 | 
	
		
			
				|  |  |         try {
 | 
	
		
			
				|  |  |             TextMessage message = session.createTextMessage(text);
 | 
	
		
			
				|  |  |             getMessageProducer(queue).send(message);
 | 
	
		
			
				|  |  |             // log.info("sendMessage " + queue + "\t\t" + text);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         catch (JMSException e) {
 | 
	
		
			
				|  |  |             e.printStackTrace();
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     public static String getMessage(String queue)
 | 
	
		
			
				|  |  |     {
 | 
	
		
			
				|  |  |         try {
 | 
	
		
			
				|  |  |             TextMessage message = (TextMessage)getMessageConsumer(queue).receive(10000L);
 | 
	
		
			
				|  |  |             if (message != null)
 | 
	
		
			
				|  |  |                 return message.getText();
 | 
	
		
			
				|  |  |         } catch (JMSException e) {
 | 
	
		
			
				|  |  |             e.printStackTrace();
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return null;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     public static void close() {
 | 
	
		
			
				|  |  |         try {
 | 
	
		
			
				|  |  |             session.close();
 | 
	
		
			
				|  |  |         } catch (JMSException e) {
 | 
	
		
			
				|  |  |             e.printStackTrace();
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         try {
 | 
	
		
			
				|  |  |             connection.close();
 | 
	
		
			
				|  |  |         } catch (JMSException e) {
 | 
	
		
			
				|  |  |             e.printStackTrace();
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | }
 |