123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- 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();
- }
- }
- }
|