博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
activeMq 使用方法
阅读量:5259 次
发布时间:2019-06-14

本文共 1976 字,大约阅读时间需要 6 分钟。

一:activeMq介绍

    ActiveMQ是一种开源的,实现了JMS1.1规范的,面向消息(MOM)的中间件,为应用程序提供高效的、可扩展的、稳定的和安全的企业级消息通信,下载地址是:http://activemq.apache.org/download.html,下载后启动activemq.bat就可以,activemq默认端口号是8161,可以在confg/jetty.xml处修改。

二:activeMq使用方法

activeMq 使用java多线程经典的生产者和消费者来处理。

1:首先创建生产者

// 连接工厂 jms 用它创建连接connectionFactory = new ActiveMQConnectionFactory(ActiveMQConnection.DEFAULT_USER,ActiveMQConnection.DEFAULT_PASSWORD,                ActiveMQConnection.DEFAULT_BROKER_URL);// jms 连接Connection connection = connectionFactory.createConnection();// 一个发送或接收消息的线程Session session= connection.createSession(Boolean.TRUE,Session.AUTO_ACKNOWLEDGE);// 消息目的地,消息发送给谁Destination  destination = session.createQueue("threadMsg");// 得到生产者对像MessageProducer messageProducer=session.createProducer(destination);//设置消息对像TextMessage message = session.createTextMessage("ActiveMq 发送的消息" + index);//发送producer.send(message);

消费发送后,可以在activeMq后台查询

 点击threadMsg可以查看未读消息列表,并且可以看未读消息的详细内容

2:创建消息消费者

// 连接工厂 jms 用它创建连接ConnectionFactory connectionFactory connectionFactory = new ActiveMQConnectionFactory(ActiveMQConnection.DEFAULT_USER,                ActiveMQConnection.DEFAULT_PASSWORD,                ActiveMQConnection.DEFAULT_BROKER_URL);// jms 连接 Connection connection=connectionFactory.createConnection();//创建操作连接Session session=connection.createSession(Boolean.TRUE,                    Session.AUTO_ACKNOWLEDGE);// 获取操作连接 threadMsg 需要和生产者发送消息时的值对应Destination destination=session.createQueue("threadMsg");// 消息接收MessageConsumer =messageConsumersession.createConsumer(destination);while (true) {//1秒去读取一次消息  // 设置接收者接收消息的时间,为了便于测试,这里谁定为100s   TextMessage message = (TextMessage) messageConsumer.receive(100000);   if (null != message) {       log.info(threadName+"  收到消息  " + message.getText());   } else {//                    break;  }   Thread.sleep(1000);}

    

   注意:由于这个项目没有使用maven,可能出现环境不一样,导致logg4j等包无法找到的情况。

   

转载于:https://www.cnblogs.com/cq-jiang/p/7662477.html

你可能感兴趣的文章
.net 文本框只允许输入XX,(正则表达式)
查看>>
android smack MultiUserChat.getHostedRooms( NullPointerException)
查看>>
03 线程池
查看>>
设计模式课程 设计模式精讲 2-2 UML类图讲解
查看>>
Silverlight 的菜单控件。(不是 Toolkit的)
查看>>
jquery的contains方法
查看>>
linux后台运行和关闭SSH运行,查看后台任务
查看>>
桥接模式-Bridge(Java实现)
查看>>
303. Range Sum Query - Immutable
查看>>
C# Dynamic通用反序列化Json类型并遍历属性比较
查看>>
前台freemark获取后台的值
查看>>
Spring-hibernate整合
查看>>
exit和return的区别
查看>>
Django 相关
查看>>
Python(软件目录结构规范)
查看>>
codeforces水题100道 第二十二题 Codeforces Beta Round #89 (Div. 2) A. String Task (strings)
查看>>
c++||template
查看>>
条件断点 符号断点
查看>>
连接Oracle需要jar包和javadoc文档的下载
查看>>
Dreamweaver cc新版本css单行显示
查看>>