最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

activeMQ发布订阅模式中中常用工具类

来源:动视网 责编:小采 时间:2020-11-09 14:19:29
文档

activeMQ发布订阅模式中中常用工具类

activeMQ发布订阅模式中中常用工具类:package com.jms;import java.util.Map;import java.util.concurrent.ConcurrentHashMap;import javax.jms.BytesMessage;import javax.jms.Connection;import javax.jms.ConnectionFactory;import javax.jms.Destination;import javax.jms.JMSException;impo
推荐度:
导读activeMQ发布订阅模式中中常用工具类:package com.jms;import java.util.Map;import java.util.concurrent.ConcurrentHashMap;import javax.jms.BytesMessage;import javax.jms.Connection;import javax.jms.ConnectionFactory;import javax.jms.Destination;import javax.jms.JMSException;impo


package com.jms;import java.util.Map;import java.util.concurrent.ConcurrentHashMap;import javax.jms.BytesMessage;import javax.jms.Connection;import javax.jms.ConnectionFactory;import javax.jms.Destination;import javax.jms.JMSException;impo

package com.jms;

import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;

import javax.jms.BytesMessage;
import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.Destination;
import javax.jms.JMSException;
import javax.jms.MessageConsumer;
import javax.jms.MessageProducer;
import javax.jms.Queue;
import javax.jms.Session;
import javax.jms.TextMessage;

import org.apache.activemq.ActiveMQConnection;
import org.apache.activemq.ActiveMQConnectionFactory;
import org.clapper.util.logging.Logger;

import com.pzoom.dsa.common.util.Log;
import com.pzoom.dsa.nerd.mysql.DBQueryHelper;

public class Jms
{
 static ConnectionFactory connectionFactory;
 static Connection connection = null;
 static Session session;
 static Map sendQueues = new ConcurrentHashMap();

 static Map getQueues = new ConcurrentHashMap();

 static Log log=Log.getLogger(DBQueryHelper.class);

 static {
 connectionFactory = new ActiveMQConnectionFactory(
 ActiveMQConnection.DEFAULT_USER, 
 ActiveMQConnection.DEFAULT_PASSWORD, 
 "tcp://10.100.100.100:61616?wireFormat.maxInactivityDuration=0");
 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();
 }
 }
}

文档

activeMQ发布订阅模式中中常用工具类

activeMQ发布订阅模式中中常用工具类:package com.jms;import java.util.Map;import java.util.concurrent.ConcurrentHashMap;import javax.jms.BytesMessage;import javax.jms.Connection;import javax.jms.ConnectionFactory;import javax.jms.Destination;import javax.jms.JMSException;impo
推荐度:
标签: 模式 订阅 发布
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top