activemq的搭建、启动,简单demo
一、搭建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的更多相关文章
- Spring环境搭建及简单demo
1. Spring框架简介(以下这段话可用于面试求职) Spring为JavaEE开发提供了一个轻量级的解决方案,主要表现为, IOC(或者叫做DI)的核心机制,提供了bean工厂(Spring容器) ...
- zookeeper+Dubbo环境搭建及简单Demo
1 安装zk https://www.cnblogs.com/feifeicui/p/11175502.html 2 安装 dubbo-admin https://www.cnblogs.com/fe ...
- 初学Node(六)搭建一个简单的服务器
搭建一个简单的服务器 通过下面的代码可以搭建一个简单的服务器: var http = require("http"); http.createServer(function(req ...
- 使用gitblit搭建一个简单的局域网服务器
使用gitblit搭建一个简单的局域网服务器 1.使用背景 现在很多使用github管理代码,但是github需要互联网的支持,而且私有的git库需要收费.有一些项目的代码不能外泄,所以,搭建一个局域 ...
- dotnet core on Linux 环境搭建及入门demo
首先感谢张善友大大提供的腾讯云实验室链接(https://www.qcloud.com/developer/labs/list). 以下是整个搭建过程及简单demo实例 1.搭建 .NET Core ...
- Managed DirectX中的DirectShow应用(简单Demo及源码)
阅读目录 介绍 准备工作 环境搭建 简单Demo 显示效果 其他 Demo下载 介绍 DirectX是Microsoft开发的基于Windows平台的一组API,它是为高速的实时动画渲染.交互式音乐和 ...
- Solr配置与简单Demo[转]
Solr配置与简单Demo 简介: solr是基于Lucene Java搜索库的企业级全文搜索引擎,目前是apache的一个项目.它的官方网址在http://lucene.apache.org/sol ...
- android JNI 简单demo(2)它JNI demo 写
android JNI 简单demo(2)它JNI demo 写 一.搭建Cygwin 环境:http://blog.csdn.net/androidolblog/article/details/25 ...
- 使用maven+eclipse搭建最简单的struts2的helloworld
使用maven+eclipse搭建最简单的struts2的helloworld 一.web分层结构简介 1.web[细]粒度分层结构: 按细粒度分层可以分为以下6种: 1).表现层:html/css/ ...
随机推荐
- 常用到的简单命令 Sublime Git NPM WindowsCMD MacTerminal(Unix命令) Vim
sublime 选择标签及其内容 ctrl+shift+a连续按两次 调出Package console: Mac: command + shift + p 安装插件: 1.调出 Package co ...
- 理解ASP.NET 5运行时命令:DNVM, DNX, 和DNU
ASP.NET 5 引入了一个新型的运行时,让我们可以现场交付模式组合式构建应用程序,而不依赖于宿主机上的.NET框架.这种新模式为我们提供了命令行工具(DNVM.DNX.DNU)用于管理我们的.ne ...
- vue组件编写知识点
- zabbix共享内存报错cannot create semaphore set
zabbix共享内存报错 cannot open log: cannot create semaphore set: [28] No space left on device 报错原因: kernel ...
- 三、python小功能记录——杀掉进程
import os os.system("taskkill /F /IM python.exe")#旧版 os.system("taskkill /F /IM py.ex ...
- 软件磁盘阵列 (Software RAID)
什么是 RAID 磁盘阵列全名是『 Redundant Arrays of Inexpensive Disks, RAID 』,容错式廉价磁盘阵列. RAID 可以通过一些技术(软件或硬件),将多个较 ...
- Linux 基础学习大考核
0.关于Linux的简介 Linux(好又免费)的组成部分: Linux 是一种计算机操作系统: 一系列能让您与计算机进行交互操作并运行其它程序的程序. 操作系统由多种基础程序构成.它们使计算机可以与 ...
- homebrew命令
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
- Azure 负载均衡器的多个 VIP
您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn. Azure 负载均衡器 ...
- December 31st 2016 Week 53rd Saturday
In every triumph, there's a lot of try. 每个胜利背后都有许多尝试. This Year is over, and let it be. It would be ...