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/ ...
随机推荐
- 131.005 Unsupervised Learning - Cluster | 非监督学习 - 聚类
@(131 - Machine Learning | 机器学习) 零. Goal How Unsupervised Learning fills in that model gap from the ...
- [翻译] ATTutorialController
ATTutorialController https://github.com/AfonsoTsukamoto/ATTutorialController A simple to use tutoria ...
- 企业级NGINX的重定向rewrite
vim /usr/local/nginx/conf/nginx.conf server { listen 80; server_name www.ftl.com; rewrite ^/(.*) htt ...
- haproxy开启日志功能
haproxy在默认情况不会记录日志,除了在haproxy.conf中的global段指定日志的输出外,还需要配置系统日志的配置文件.下面以centos6.4为例,haproxy使用系统自带的rpm报 ...
- 外部主机无法访问IIS发布的网站
在IIS中发布网站,在本地可以直接访问,但是其他主机不能访问改发布的网站. 此问题一般是IIS的配置或者防火墙的配置的原因. 如果禁用了以下防火墙入站规则会导致外部主机无法访问本地发布的网 ...
- echo 与 od -x 与 %!xxd 命令
echo 与 od -x 与 %!xxd 命令 echo 命令 -n 选项 可以使其不带换行符od -x 命令可以查看文件的16进制表示%!xxd 可以在vim编辑器中dump成16进制表示
- Spring Security 静态资源访问
在搞 Spring Security 的时候遇到了一个小坑,就是静态资源加载的问题. 当我们继承了 WebSecurityConfigurerAdapter的时候,会去重写几个方法.去设定我们自己要过 ...
- 阿里八八“好记”——UML设计
团队分工 叶文滔:软件整体框架部分 俞鋆:后端数据库部分 王国超:日程多日显示部分 黄梅玲:日程详细显示部分 张岳.刘晓.李嘉群:用户部分 UML设计 整体框架 用例图 类图 活动图 状态图 数据库部 ...
- ECharts.js学习(二)动态数据绑定
Echarts 数据绑定 简单的统计表已经可以生成,不过之前图标数据都是直接写在参数里面的,而实际使用中,我们的数据一般都是异步读取的.EChart.js对于数据异步读取这块提供了异步加载的方法. 绑 ...
- dedecms为导航栏目添加英文标题
最近公司官网是使用 DedeCMS 做的,这个项目中要使用到为导航栏目添加英文标题,就查找资料把它实现了. 根据设计图写成静态页面后是这样的效果: 操作步骤如下: 1. 修改数据表,添加英文字段 影响 ...