一、下载MQ

官方网站下载:http://activemq.apache.org/
我用的是 apache-activemq-5.15.0-bin

二、安装

我用的是64位所以双击 apache-activemq-5.15.0\bin\win64 下 activemq.bat

登录 登陆:http://localhost:8161/admin/, 默认账户密码 admin = admin ,创建一个Queue,命名为FirstQueue

三、环境

创建项目 thomas

导入apache-activemq-5.8.0\lib目录  下的
activemq-broker-5.8.0.jar

activemq-client-5.8.0.jar

geronimo-j2ee-management_1.1_spec-1.0.1.jar

geronimo-jms_1.1_spec-1.1.1.jar

slf4j-api-1.6.6.jar

到项目中

四、发送端

package com.thomas.test;

import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.DeliveryMode;
import javax.jms.Destination;
import javax.jms.JMSException;
import javax.jms.MessageProducer;
import javax.jms.Session;
import javax.jms.TextMessage; import org.apache.activemq.ActiveMQConnection;
import org.apache.activemq.ActiveMQConnectionFactory; public class TestMQSend { public void sendMQ(String news) { //连接工厂
ConnectionFactory connectionFactory; //连接
Connection connection = null; //收发线程
Session session; //接收地址
Destination destination; //发方
MessageProducer messageProducer; //构造连接工厂实例化对象,利用Active实现
connectionFactory = 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);
//设置接受地址
destination = session.createQueue("FirstQueue");
//获得发送方
messageProducer = session.createProducer(destination);
//设置是否持久化(根据实际设置)
messageProducer.setDeliveryMode(DeliveryMode.NON_PERSISTENT); for(int i = 0;i < 5 ;i ++){
//设置消息内容
TextMessage message = session.createTextMessage("MQ信息 第"+ i + "轮次:" + news);
System.out.println("发送MQ信息 第"+ i + "轮次:" + news);
//发送消息
messageProducer.send(message);
} session.commit(); } catch (JMSException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally{ if(connection != null){ try {
connection.close();
} catch (JMSException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
} } public static void main(String[] args) {
TestMQSend mq = new TestMQSend();
mq.sendMQ("测试MQ啦啦啦");
}
}

五、接收端

package com.thomas.test;

import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.Destination;
import javax.jms.JMSException;
import javax.jms.MessageConsumer;
import javax.jms.Session;
import javax.jms.TextMessage; import org.apache.activemq.ActiveMQConnection;
import org.apache.activemq.ActiveMQConnectionFactory; public class TestMQRe { public void receiveMQ(){ //连接工厂
ConnectionFactory connectionFactory; //连接
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.TRUE, Session.AUTO_ACKNOWLEDGE); //设置接受地址
destination = session.createQueue("FirstQueue"); //创建一个接受者
consumer = session.createConsumer(destination); //循环接受
while(true){ TextMessage message = (TextMessage) consumer.receive(100000);
if(message != null){ System.out.println("接受"+message.getText());
}else{ break;
}
} } catch (JMSException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally{ if(connection != null){ try {
connection.close();
} catch (JMSException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
} } public static void main(String[] args) {
TestMQRe re = new TestMQRe();
re.receiveMQ();
}
}

六、结果

发送端:
发送MQ信息 第0轮次:测试MQ啦啦啦
发送MQ信息 第1轮次:测试MQ啦啦啦
发送MQ信息 第2轮次:测试MQ啦啦啦
发送MQ信息 第3轮次:测试MQ啦啦啦
发送MQ信息 第4轮次:测试MQ啦啦啦 接收端:
接受MQ信息 第0轮次:测试MQ啦啦啦
接受MQ信息 第1轮次:测试MQ啦啦啦
接受MQ信息 第2轮次:测试MQ啦啦啦
接受MQ信息 第3轮次:测试MQ啦啦啦
接受MQ信息 第4轮次:测试MQ啦啦啦

ActiveMQ简单入门实例的更多相关文章

  1. vue服务端渲染简单入门实例

    想到要学习vue-ssr的同学,自不必多说,一定是熟悉了vue,并且多多少少做过几个项目.然后学习vue服务端渲染无非解决首屏渲染的白屏问题以及SEO友好. 话不多说,笔者也是研究多日才搞明白这个服务 ...

  2. Sed简单入门实例

    1. Sed简介 sed 是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后 ...

  3. ActiveMQ简单入门

    一.创建一个简单的Hello World案例 首先需要导入activemq-all-5.14.5.jar包,写生产端: package com.ietree.mq.helloworld; import ...

  4. opengl简单入门实例

    实现任务目标: 使用纹理贴图,增强可视效果 应用坐标变换,实现场景中不同物体重建 采用双缓冲技术,实现场景实时绘制 具有一定的鼠标.键盘交互功能 先放效果 鼠标的交互功能有:右键暂停转动,左键继续转动 ...

  5. 权限框架 - shiro 简单入门实例

    前面的帖子简单的介绍了基本的权限控制,可以说任何一个后台管理系统都是需要权限的 今天开始咱们来讲讲Shiro 首先引入基本的jar包 <!-- shiro --> <dependen ...

  6. Windows10下Django虚拟环境配置和简单入门实例

    环境win10家庭版64位 + python 3.5 + Django 1.8.2 1.创建virtualenv目录 开始/运行/cmd回车,进入cmd窗口,到自己指定的目录下创建virtualenv ...

  7. 002.Kubernetes简单入门实例

    一 环境准备 1.1 基础环境 Kubernetes模式:单机版 系统环境:CentOS 7/172.24.9.157 部署方式:yum快速部署 其他设置:开启NTP.关闭防火墙及SELinux 二 ...

  8. Express4+Mongodb超简单入门实例

    开始前,请确保mongodb已经能正常工作,安装教程:windows下MongoDB的安装及配置 , 请自行安装配置.下面进入正文: 第一步:命令行创建数据库.表,并插入一条数据 命令如下: //创建 ...

  9. Spring 简单入门实例

    首先新建一个Web 项目 导入相应Jar 包 <?xml version="1.0" encoding="UTF-8"?> <beans xm ...

随机推荐

  1. Mblog 部署手册

    准备工作 安装 JDK8 安装图片处理工具:GraphicsMagick1.3.20,下载地址 安装 Maven 准备 IDE (如果你不看源码,可以忽略下面的步骤,直接通过Maven编译war包) ...

  2. wpf app全局变量传参方法(代码片段 )

    清空某行绑定的行数据: int RowIndex = datagrid.SelectedIndex; _Table.Rows[RowIndex]["AVERAGE_PRICE"] ...

  3. [BZOJ1645][Usaco2007 Open]City Horizon 城市地平线 线段树

    链接 题意:N个矩形块,交求面积并. 题解 显然对于每个 \(x\),只要求出这个 \(x\) 上面最高的矩形的高度,即最大值 将矩形宽度离散化一下,高度从小到大排序,线段树区间set,然后求和即可 ...

  4. django 简单会议室预约(5)

    再来看看views.py的后半部分,对数据库的增删改查 #获取学院列表 def get_acad_list(): room_list = ConfeRoom.objects.all() #对数据库的操 ...

  5. eclipse4.3怎么集成jadclipse追踪源代码,现在windows-preferences-java

      A.将net.sf.jadclipse_3.2.4.jar复制到D:\leaf\eclipse\plugins目录下.  B.在d:\leaf下建立ecliplsePlungin\jadclips ...

  6. RHEL6安装调试过程中遇到的问题集

    /*** **问题集 2014/6/9 20:55:52** **Autor: Weigong Xu ** ***/ 1. Linux中开启22port: 22port是ssh服务的.你仅仅要启动ss ...

  7. animation- 动画效果实现(代码中)

    1,首先我们看一下如下的代码 import android.view.animation.LayoutAnimationController; import android.view.animatio ...

  8. time and datetime

    一.简述 我们在写代码的过程经常遇到时间模块,如果我们以后需要根据时间去筛选信息的话,那用户会更大,所以今天就来讲讲时间的两大模块:time & datetime 二.time模块 1.tim ...

  9. robotframework Selenium2+RFS自动化测试

    支持浏览器版本:Google Chrome (64位) 52.0.2743.82 正式版 52.0.2743.6_chrome_installer 64位 下载地址:http://www.online ...

  10. 【Educational Codeforces Round 33 C】 Rumor

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 显然最后会形成多个集合,每个集合里面的人能够可以互相到达. 则维护并查集的时候,顺便维护一下每个集合里面的最小值就好. 最后答案就为 ...