您的位置:首页
ActiveMQ 入门使用实例
2016-06-08 10:52
357 查看
1.下载ActiveMQ
去官方网站下载:http://activemq.apache.org/download-archives.html2.运行ActiveMQ
解压缩apache-activemq-5.9.0-bin.zip,然后双击apache-activemq-5.9.0\bin\activemq.bat运行ActiveMQ程序。3.在Eclipse 创建项目并运行
如果是使用 Maven 项目,则在pom.xml 中配置<dependency> <groupId>org.apache.activemq</groupId> <artifactId>activemq-all</artifactId> <version>5.9.0</version> </dependency>
或者 直接创建项目,导入 activemq-all-5.9.0.jar ,以及其日志依赖包
4.创建一个消息队列
Consumer.java
package com.panie.mq.queue; import java.util.Date; import javax.jms.Connection; import javax.jms.ConnectionFactory; import javax.jms.Destination; import javax.jms.JMSException; import javax.jms.MapMessage; import javax.jms.Message; import javax.jms.MessageConsumer; import javax.jms.MessageListener; import javax.jms.MessageProducer; import javax.jms.Session; import org.apache.activemq.ActiveMQConnection; import org.apache.activemq.ActiveMQConnectionFactory; public class Consumer { public static void main(String[] args) { String user = ActiveMQConnection.DEFAULT_USER; String password = ActiveMQConnection.DEFAULT_PASSWORD; String url = ActiveMQConnection.DEFAULT_BROKER_URL; String subject = "TOOL.DEFAULT"; ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(user, password, url); try { Connection connection = connectionFactory.createConnection(); connection.start(); final Session session = connection.createSession(Boolean.TRUE, Session.AUTO_ACKNOWLEDGE); Destination destination = session.createQueue(subject); MessageConsumer consumer = session.createConsumer(destination); consumer.setMessageListener(new MessageListener() { @Override public void onMessage(Message msg) { MapMessage message = (MapMessage)msg; Date date = new Date(); try { System.out.println("--收到消息:"+new Date(message.getLong("count"))); session.commit(); } catch (JMSException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }); Thread.sleep(10000); session.close(); connection.close(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
Producer.java
package com.panie.mq.queue; import java.util.Date; import javax.jms.Connection; import javax.jms.ConnectionFactory; import javax.jms.Destination; import javax.jms.JMSException; import javax.jms.MapMessage; import javax.jms.MessageProducer; import javax.jms.Session; import org.apache.activemq.ActiveMQConnection; import org.apache.activemq.ActiveMQConnectionFactory; public class Producer { public static void main(String[] args) { String user = ActiveMQConnection.DEFAULT_USER; String password = ActiveMQConnection.DEFAULT_PASSWORD; String url = ActiveMQConnection.DEFAULT_BROKER_URL; String subject = "TOOL.DEFAULT"; ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(user, password, url); try { Connection connection = connectionFactory.createConnection(); connection.start(); Session session = connection.createSession(Boolean.TRUE, Session.AUTO_ACKNOWLEDGE); Destination destination = session.createQueue(subject); MessageProducer producer = session.createProducer(destination); for(int i=0;i<=20;i++) { MapMessage message = session.createMapMessage(); Date date = new Date(); message.setLong("count", date.getTime()); Thread.sleep(1000); producer.send(message); System.out.println("--发送消息:"+date); } session.commit(); session.close(); connection.close(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
运行这两个方法,则可以在控制台看到 consumer 输出了 producter 产生的消息
相关文章推荐
- 创业,体验优先还是效率优先?
- Android 运行崩溃找不到so包解决方案
- 同步与异步 阻塞与非阻塞
- 分布式监控工具Ganglia 介绍 与 集群部署.
- eclipse开发项目中的环境说明
- java 判断端口是否开放telnet
- springmvc之文件上传、下载
- 6核 CPU导致SQL2005安装时出“无法启动服务”错
- springmvc+jsp 拦截器下如何设置欢迎页面
- javah生成的头文件在方法名前加1
- jQuery的bind()的三种使用方式事件监听
- Reverse Linked List
- 镜头主要参数与光 源 选 型
- python 四种数值类型(int,long,float,complex)介绍
- __call()
- Android 打开网络设置界面
- [ZooKeeper]Two-phased Commit机制活动图
- Linux下解压缩命令
- Vmware Failed to login into NFC server Datastore error
- C++矩阵处理工具——Eigen