一、搭建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. error C3861: “getpid”: 找不到标识符

    原文:http://blog.csdn.net/woniu199166/article/details/52471242 这种错误一般就是没有对应的函数或者对应的头文件 旧版的vs添加#include ...

  2. Lambda多表联合

    var query = database.Posts // your starting point - table in the "from" statement .Join(da ...

  3. 对View的onMeasure()方法的进一步研究

    在Android开发中,很多人对自定义View是望而生畏,但这又是向高级进阶的必经之路,主要是对View里面的很多方法不知道怎么理解,其中一个就是onMeasure()方法. 首先,我自定义一个MyV ...

  4. Docker解决没有vi、vim等命令

    1.apt update 同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,获取到最新的软件包. 2.apt install vi ...

  5. 克隆对象__clone()方法

    有的时候我们需要在一个项目里面,使用两个或多个一样的对象,如果你使用“new”关键字重新创建对象的话,再赋值上相同的属性,这样做比较烦琐而且也容易出错,所以要根据一个对象完全克隆出一个一模一样的对象, ...

  6. Window各种命令补

  7. php测试工具

    如果是测压力有apache的ab如果要看性能则有xdebug和xhprof.还有linux的strace命令来跟踪程序的执行时的系统调用

  8. 美团2018年CodeM大赛-初赛B轮 B 配送(最短路)

    美团2018年CodeM大赛-初赛B轮 B 配送 题意 题解 对于每个任务,只要从上个任务的终点出发即可. 时间.地点很少,可以算出每个地点-时间的最小花费. 以题目描述的起点终点起始结束时间建图,很 ...

  9. 判断元素(expected_conditions)

    判断元素 如何判断一个元素是否存在,如何判断 alert 弹窗出来了,如何判断动态的元素等等一系列的判断,在 selenium 的 expected_conditions 模块收集了一系列的场景判断方 ...

  10. ubuntu 13.04添加 flash_plugin

    mv libflashplayer.so  /usr/lib/mozilla/plugins