一、搭建activeMQ

  在官网下载window版本,直接解压就可以。

二、启动

  在解压完的目录/bin/win64,双击击activemq.bat,运行完之后打开浏览器,输入http://127.0.0.1:8161/admin/,出现以下页面说明成功。

  

三、简单DEMO(使用点对点的模式演示的)

  本DEMO是在maven环境下操作的,没有maven的请先安装maven

  1:在pom.xml添加activeMQ的jar,在dependencies标签中添加如下,因为本人的MQ版本是5.8,所以mvn的MQ也是5.8

      <dependency>
   <groupId>org.apache.activemq</groupId>
   <artifactId>activemq-all</artifactId>
   <version>5.8.0</version>
   </dependency>
  

  2:创建生产者

import org.apache.activemq.ActiveMQConnection;
import org.apache.activemq.ActiveMQConnectionFactory; import javax.jms.*; public class ActiveMQProducer { /*设置默认的用户名*/
private static final String USERNAME =
ActiveMQConnection.DEFAULT_USER;
/*设置默认的密码*/
private static final String PASSWORD =
ActiveMQConnection.DEFAULT_PASSWORD;
/*设置默认的连接地址*/
private static final String BROKEURL =
ActiveMQConnection.DEFAULT_BROKER_URL; public static void main(String[] args) {
ConnectionFactory connectionFactory;
Connection connection = null;
try {
/*创建连接工厂*/
connectionFactory =
new ActiveMQConnectionFactory(USERNAME, PASSWORD, BROKEURL);
/*创建连接,并且启动*/
connection = connectionFactory.createConnection();
connection.start();
/*创建一个回话*/
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
/*消息的目的地*/
Destination destination = session.createQueue("hello-world");
/*消息的生产者*/
MessageProducer messageProducer = session.createProducer(destination);
/*发送消息*/
for (int i = 1; i < 4; i++) {
String msg = "发送第"+i+"条消息";
System.out.println(msg);
TextMessage textMessage = session.createTextMessage(msg);
messageProducer.send(textMessage);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (connection != null) {
try {
connection.close();
} catch (Exception e) {
e.printStackTrace(); }
}
}
}
}

  3:创建消费者

import org.apache.activemq.ActiveMQConnection;
import org.apache.activemq.ActiveMQConnectionFactory; import javax.jms.*; public class ActiveMQConsumer { /*设置默认的用户名*/
private static final String USERNAME =
ActiveMQConnection.DEFAULT_USER;
/*设置默认的密码*/
private static final String PASSWORD =
ActiveMQConnection.DEFAULT_PASSWORD;
/*设置默认的连接地址*/
private static final String BROKEURL =
ActiveMQConnection.DEFAULT_BROKER_URL; public static void main(String[] args) {
ConnectionFactory connectionFactory;
Connection connection = null;
try {
/*创建连接工厂*/
connectionFactory =
new ActiveMQConnectionFactory(USERNAME, PASSWORD, BROKEURL);
/*创建连接,并且启动*/
connection = connectionFactory.createConnection();
connection.start();
/*创建一个回话*/
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
/*消息的目的地*/
Destination destination = session.createQueue("hello-world");
/*消息的消费者*/
MessageConsumer messageConsumer = session.createConsumer(destination);
/*获取消息*/
Message message;
while ((message = messageConsumer.receive())!=null){
System.out.println(((TextMessage)message).getText());
};
} catch (Exception e) {
e.printStackTrace();
} finally {
if (connection != null) {
try {
connection.close();
} catch (Exception e) {
e.printStackTrace(); }
}
}
} }  

  直接运行main方法,先启动消费或生产者都可以。

注:

 区别:

  queue:是点对点的模式,一个生产者对应一个消费者,消息不会被重复的消费

  topic:主题或者发布订阅模式,一个生产者对应多个消费者,消息会被重复的消费。

 代码:生产者和消费者都需要修改

  Destination destination = session.createQueue("hello-world");//点对点模式

  Destination destination = session.createTopic("hello-world");//主题模式

 

activemq的搭建、启动,简单demo的更多相关文章

  1. Spring环境搭建及简单demo

    1. Spring框架简介(以下这段话可用于面试求职) Spring为JavaEE开发提供了一个轻量级的解决方案,主要表现为, IOC(或者叫做DI)的核心机制,提供了bean工厂(Spring容器) ...

  2. zookeeper+Dubbo环境搭建及简单Demo

    1 安装zk https://www.cnblogs.com/feifeicui/p/11175502.html 2 安装 dubbo-admin https://www.cnblogs.com/fe ...

  3. 初学Node(六)搭建一个简单的服务器

    搭建一个简单的服务器 通过下面的代码可以搭建一个简单的服务器: var http = require("http"); http.createServer(function(req ...

  4. 使用gitblit搭建一个简单的局域网服务器

    使用gitblit搭建一个简单的局域网服务器 1.使用背景 现在很多使用github管理代码,但是github需要互联网的支持,而且私有的git库需要收费.有一些项目的代码不能外泄,所以,搭建一个局域 ...

  5. dotnet core on Linux 环境搭建及入门demo

    首先感谢张善友大大提供的腾讯云实验室链接(https://www.qcloud.com/developer/labs/list). 以下是整个搭建过程及简单demo实例 1.搭建 .NET Core ...

  6. Managed DirectX中的DirectShow应用(简单Demo及源码)

    阅读目录 介绍 准备工作 环境搭建 简单Demo 显示效果 其他 Demo下载 介绍 DirectX是Microsoft开发的基于Windows平台的一组API,它是为高速的实时动画渲染.交互式音乐和 ...

  7. Solr配置与简单Demo[转]

    Solr配置与简单Demo 简介: solr是基于Lucene Java搜索库的企业级全文搜索引擎,目前是apache的一个项目.它的官方网址在http://lucene.apache.org/sol ...

  8. android JNI 简单demo(2)它JNI demo 写

    android JNI 简单demo(2)它JNI demo 写 一.搭建Cygwin 环境:http://blog.csdn.net/androidolblog/article/details/25 ...

  9. 使用maven+eclipse搭建最简单的struts2的helloworld

    使用maven+eclipse搭建最简单的struts2的helloworld 一.web分层结构简介 1.web[细]粒度分层结构: 按细粒度分层可以分为以下6种: 1).表现层:html/css/ ...

随机推荐

  1. jquery尺寸和jQuery设置和获取内容方法

    一.jquery尺寸 jQuery 提供多个处理尺寸的重要方法: width()    设置或返回元素的宽度(不包括内边距.边框或外边距),括号中可填数值宽度参数,无单位 height()   设置或 ...

  2. laravel middleware

    当你使用larvel创建一个相对比较复杂的web网站时,往往你的routes文件就会变得很庞大.一般来说在开始网站编码之前,最好做一个整体规划,把这些route逻辑上划分为不同的group,每一个gr ...

  3. “微软热爱Linux“ – 心声传遍中国

    去年十月微软CEO Satya Nadella在旧金山的活动中说 “微软热爱Linux(Microsoft loves Linux)”,这句话让诸多人感到惊喜.至此之后,您可以在众多Linux和开源的 ...

  4. SQL点点滴滴_查看所有存储过程或视图的位置及内容

    代码:select a.name,a.[type],b.[definition] from sys.all_objects a,sys.sql_modules b where a.is_ms_ship ...

  5. 第一课 PPT 所学内容总结

    制作PPT时要注意三要素即:图形,颜色搭配,字数适当. 感悟:制作一个好的PPT也并不需要华丽的画面.只需清晰的表达出自己想要表达的,就是一个好PPT.

  6. Linux基础和常用命令

    经常使用的命令: #查看端口被占用情况 netstat -tunlp|grep #查看java进程 ps -ef|grep java #压缩前端工程 rar a -ep1 ./update/win32 ...

  7. C++类知识总结

    c++类 1.初始化const或引用类型数据成员的唯一机会是在构造函数初始化列表中. 2.使用成员初始化列表时成员初始化的次序:第一个成员首先被初始化.然后是第二个,依次类推. 构造函数初始化列表为类 ...

  8. 乘风破浪:LeetCode真题_005_Longest Palindromic Substring

    乘风破浪:LeetCode真题_005_Longest Palindromic Substring 一.前言 前面我们已经提到过了一些解题方法,比如递推,逻辑推理,递归等等,其实这些都可以用到动态规划 ...

  9. c++的路上,我坚信,我可以 -----第四次作业体会

    第四次作业 传送门 1.浅谈"新对象"sstream和stack 第四次作业,就是在第三次作业上作修改,上周周末,我刚刚才完成了第三次作业,但是知道了队列如何应用,面对这次的sta ...

  10. BZOJ 1084 最大子矩阵 dp

    题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=1084 题目大意: 这里有一个n*m的矩阵,请你选出其中k个子矩阵,使得这个k个子矩阵分 ...