ActiveMQ学习笔记之HelloWorld
来源:互联网 发布:手机创业软件 编辑:程序博客网 时间:2024/05/18 02:37
1、首先去官方下载activeMQ,我用的版本是5.5.1
http://activemq.apache.org/download.html
2、打开压缩包,展现以下目录结构
3、打开bin目录,启动activemq.bat文件,开启activemq服务
4、访问http://localhost:8161/ 进入manager页面,创建一个队列。注意该队列名我们之后会在代码中用到。
5、开始写代码,先写一个Receiver.java 类,这个类的作用是监听一个IP和端口,接送信息。
package com.lvpeng.activemq.test;import javax.jms.Connection;import javax.jms.ConnectionFactory;import javax.jms.Destination;import javax.jms.MessageConsumer;import javax.jms.Session;import javax.jms.TextMessage;import org.apache.activemq.ActiveMQConnection;import org.apache.activemq.ActiveMQConnectionFactory;public class Receiver {public static void main(String[] args) {//链接工厂ConnectionFactory connectionFactory;//客户端到Provider的链接Connection connection = null;//一个发送或者接受消息的线程Session session;//消息目的地Destination destination;//消费者 消息接受着MessageConsumer consumer;connectionFactory = new ActiveMQConnectionFactory(ActiveMQConnection.DEFAULT_USER,ActiveMQConnection.DEFAULT_PASSWORD,"tcp://localhost:61616");try {//获取链接对象connection = connectionFactory.createConnection();//启动connection.start();//获取操作链接session = connection.createSession(Boolean.FALSE,Session.AUTO_ACKNOWLEDGE);destination = session.createQueue("FirstQueue");consumer = session.createConsumer(destination);while(true){//设置接受者接受消息的时间 为了便于测试 这里谁定为10sTextMessage message = (TextMessage)consumer.receive(100000);if(null != message){System.out.println("收到消息:"+message.getText());}else{break;}}} catch (Exception e) {e.printStackTrace();} finally{try {if(null != connection)connection.close();} catch (Exception e) {}}}}
6、然后再写一个sender.java 这个类的作用就是给我们制定的ip和端口发送消息。
package com.lvpeng.activemq.test;import javax.jms.Connection;import javax.jms.ConnectionFactory;import javax.jms.DeliveryMode;import javax.jms.Destination;import javax.jms.MessageProducer;import javax.jms.Session;import javax.jms.TextMessage;import org.apache.activemq.ActiveMQConnection;import org.apache.activemq.ActiveMQConnectionFactory;public class Sender {private static final int SEND_NUMBER = 5;public static void main(String[] args) {//连接工厂 JMS用他创建链接ConnectionFactory connectionFactory = null;//JMS客户端带哦Provider的链接Connection connection = null;//一个发送或者接受请求的线程Session session = null;//消息的目的地 消息发送给谁Destination destination = null;;//消息发送者MessageProducer producer = null;;//构造connectionFactory 此处采用ActiveMq的实现jarconnectionFactory = new ActiveMQConnectionFactory( ActiveMQConnection.DEFAULT_USER, ActiveMQConnection.DEFAULT_PASSWORD, "tcp://localhost:61616");try {//构造从工厂得到链接对象connection = connectionFactory.createConnection();//启动connection.start();//获取操作链接session = connection.createSession(Boolean.TRUE, Session.AUTO_ACKNOWLEDGE);//获取session注意参数值xingbo.xu-queue是一个服务的队列 需要在actionMQ的console配置destination = session.createQueue("FirstQueue");//得到消息生成者[发送者]producer = session.createProducer(destination);//设置不持久化 此处学习 实际根据项目决定producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);//构造消息 此处写死 项目就是参数 或者方法获取sendMessage(session,producer);session.commit();} catch (Exception e) {e.printStackTrace();} finally{try {if(null != connection)connection.close();} catch (Exception e) {}}}public static void sendMessage(Session session, MessageProducer producer) {try {for(int i=1;i<=SEND_NUMBER;i++){TextMessage message = session.createTextMessage("ActiveMQ 发送的消息 "+i);//发送消息到目的地System.out.println("发送消息:" + "ActiveMQ 发送的消息 "+i);producer.send(message);}} catch (Exception e) {throw new RuntimeException(e.getMessage());}}}
7、执行sender.java 向服务器发送消息
发送消息:ActiveMQ 发送的消息 1发送消息:ActiveMQ 发送的消息 2发送消息:ActiveMQ 发送的消息 3发送消息:ActiveMQ 发送的消息 4发送消息:ActiveMQ 发送的消息 5
查看队列的变化:
8、启动Receiver.java 看是否可以接受到消息
收到消息:ActiveMQ 发送的消息 1收到消息:ActiveMQ 发送的消息 2收到消息:ActiveMQ 发送的消息 3收到消息:ActiveMQ 发送的消息 4收到消息:ActiveMQ 发送的消息 5
9、完成
10:、发布订阅模式参考网址:
http://www.open-open.com/lib/view/open1328079945062.html
- ActiveMQ学习笔记之HelloWorld
- ActiveMQ学习笔记之HelloWorld
- ActiveMQ之HelloWorld
- ActiveMQ之HelloWorld
- ActiveMQ学习笔记(一)—— HelloWorld
- Spring学习笔记之HelloWorld
- Python学习笔记之HelloWorld
- VC++学习笔记之HelloWorld
- Servlet学习笔记之---HelloWorld
- Alternativa3D学习笔记之HelloWorld
- 《Spring In Action》学习笔记之HelloWorld
- Android学习笔记之二-----HelloWorld
- OpenMPI学习笔记(二)之helloWorld
- 学习笔记:Servlet基础之HelloWorld
- 学习笔记之Spring入门HelloWorld
- JAVA学习笔记之(一)HelloWorld
- 3、netty 之HelloWorld(netty学习笔记)
- ActiveMQ HelloWorld
- 电容屏基本原理篇
- otp的原理
- MySql集合查询
- C#序列化,反序列化(Serialize,Deserialize)
- java 使用缓冲流的原因
- ActiveMQ学习笔记之HelloWorld
- 从进程到内核---ring3到ring0
- 装饰者模式
- 怎样进行Xss攻击
- Mount挂载命令使用方法
- 使Maven 2在package、install等阶段跳过运行Test的配置
- strstr和memcmp函数的实现
- Poj 2096 (dp求期望) 概率dp
- 机器学习实战笔记:决策树