一、什么是ActiveMQ

度娘给出的定义:

Apache ActiveMQ是Apache软件基金会所研发的开放源代码消息中间件;由于ActiveMQ是一个纯Java程序,因此只需要操作系统支持Java虚拟机,ActiveMQ便可执行。

ActiveMQ的官网打出的标语(如上图):

Flexible & Powerful Open Source Multi-Protocol Messaging

大意是:兼容性好并且功能强大的开源多协议消息中间件,那具体是怎么体现的呢?
1.兼容性好:
ActiveMQ可以很容易内嵌到使用Spring的系统里面去,
通过了常见J2EE服务器(如 Geronimo,JBoss 4,GlassFish,WebLogic)的测试,其中通过JCA 1.5 resource adaptors的配置,可以让ActiveMQ可以自动的部署到任何兼容J2EE 1.4 商业服务器上
2.功能强大:
支持通过JDBC和journal提供高速的消息持久化,
支持客户端-服务器,点对点
支持Ajax
支持与Axis的整合, WebServices
可以很容易的调用内嵌JMS provider进行测试
从设计上保证了高性能的集群

3.多协议:
应用协议有OpenWire,Stomp REST,WS Notification,XMPP,AMQP,
还支持多种传送协议:in-VM,TCP,SSL,NIO,UDP,JGroups,JXTA
总之一句话,ActiveMQ是一个消息中间件并且很好很强大,需要用到消息中间件的时候我们选他就对了。

二、ActiveMQ的名词解释

在JMS规范中,所有的标准定义都在javax.jms包中,它的功能实现和我们即将要写的代码中都会用到下面的内容:

1.Destination(目的地)
用于对Message进行管理的对象,由ActiveMQ负责维护。
MessageProducer需要指定Destination才能发送消息,MessageConsumer需要指定Destination才能接收消息。
2.Producer(消息生产者)
负责生成消息并发送目的地。应用接口为MessageProducer。
3.Consumer(消息消费者)
负责从目的地中消费【处理|监听|订阅】Message。应用接口为MessageConsumer
4.Message(消息)
消息封装一次通信的内容。常见类型有:StreamMessage、BytesMessage、TextMessage、ObjectMessage、MapMessage。
5.ConnectionFactory(连接工厂)
用于创建连接的工厂类型
6.Connection(连接)
用于建立访问ActiveMQ连接的类型, 由链接工厂创建。
7.Session(会话)
一次持久有效有状态的访问。由connection创建,是具体操作消息的基础支撑。
8.Queue & Topic
Queue是队列目的地,Topic是主题目的地。都是Destination的子接口。
Queue特点: 队列中的消息,默认只能由唯一的一个消费者处理。一旦处理,消息删除。
Topic特点:主题中的消息,会发送给所有的消费者同时处理。只有在消息可以重复处理的业务场景中可使用。
9.PTP(Point to Point,点对点消息模型)
就是基于Queue实现的消息处理方式。
10.PUB & SUB(Publish & Subscribe ,消息的发布/订阅模型)
是基于Topic实现的消息处理方式。

三、Windows下安装ActiveMQ

官网上下载即可:

下载后直接解压缩直接就能用(免安装)。

它的目录结构:

bin/是服务启动相关的命令文件所在目录

data/是默认持久化文件所在目录

docs/里面放的是用户手册

conf/是配置文件所在目录,任何配置文件修改后,必须重启ActiveMQ,才能生效.
有几个配置文件需要提下,后面会用到:
1.activemq.xml
就是spring配置文件。配置的是ActiveMQ应用使用的默认对象组件.
transportConnectors标签 - 配置链接端口信息的. 其中的端口号61616是ActiveMQ对外发布的tcp协议访问端口. 就是java代码访问ActiveMQ时使用的端口.

配置安全认证和持久化都是在这个文件里面。

2.jetty.xml
spring配置文件, ActiveMQ使用的是jetty提供HTTP服务,因此需要该文件用于配置jetty服务器的默认对象组件.

3.users.properties
内容信息: 用户名=密码

是用于配置客户端通过协议访问ActiveMQ时,使用的用户名和密码.

4.groups.properties

内容信息: 用户组=用户1,用户2(多个用户中间用逗号隔开)

类似于角色的概念,也类似于操作系统用户所在的用户组

四、启动服务,并到页面控制台查看
双击bin\win64目录下的activemq批处理文件,即可启动(如果系统是32位的,就启动bin\win32目录下的)。

启动完成后,可以进入页面控制台查看。

同RabbitMQ类似,ActiveMQ也默认支持一个网页版的服务查看站点,可以实现ActiveMQ中消息相关数据的页面查看.
ActiveMQ网页版管理站点的默认端口8161端口就配置在jetty.xml文件中。

访问http://localhost:8161/admin/,输入默认的用户名和密码admin/admin,即可看到管理台页面。

可以看到在前面名词解释中提到的内容

至此,ActiveMQ就安装完了。

ActiveMQ入门系列一:认识并安装ActiveMQ(Windows下)的更多相关文章

  1. ActiveMQ入门系列之应用:Springboot+ActiveMQ+JavaMail实现异步邮件发送

    现在邮件发送功能已经是几乎每个系统或网址必备的功能了,从用户注册的确认到找回密码再到消息提醒,这些功能普遍的会用到邮件发送功能.我们都买过火车票,买完后会有邮件提醒,有时候邮件并不是买完票立马就能收到 ...

  2. ActiveMQ入门系列二:入门代码实例(点对点模式)

    在上一篇<ActiveMQ入门系列一:认识并安装ActiveMQ(Windows下)>中,大致介绍了ActiveMQ和一些概念,并下载.安装.启动他,还访问了他的控制台页面. 这篇,就用代 ...

  3. ActiveMQ入门系列三:发布/订阅模式

    在上一篇<ActiveMQ入门系列二:入门代码实例(点对点模式)>中提到了ActiveMQ中的两种模式:点对点模式(PTP)和发布/订阅模式(Pub & Sub),详细介绍了点对点 ...

  4. Kafka 安装配置 windows 下

    Kafka 安装配置 windows 下 标签(空格分隔): Kafka Kafka 内核部分需要安装jdk, zookeeper. 安装JDK 安装JDK就不需要讲解了,安装完配置下JAVA_HOM ...

  5. k8s入门系列之集群安装篇

    关于kubernetes组件的详解介绍,请阅读上一篇文章<k8s入门系列之介绍篇> Kubernetes集群安装部署 •Kubernetes集群组件: - etcd 一个高可用的K/V键值 ...

  6. k8s 入门系列之集群安装篇

    关于kubernetes组件的详解介绍,请阅读上一篇文章<k8s入门系列之介绍篇> Kubernetes集群安装部署 •Kubernetes集群组件: - etcd 一个高可用的K/V键值 ...

  7. OPEN(SAP) UI5 学习入门系列之一:扫盲与热身(下)

    1 UI5代码结构 上一次我们一起用了20秒的时间完成一个UI5版的Hello World.应用打开后有一个按钮,按钮的文字是Hello World,点击这个按钮之后,按钮会慢慢的消失掉(Fade o ...

  8. 在Debian下安装使用Windows下的字体

    转载:http://blog.163.com/lixiangqiu_9202/blog/static/53575037201251224553801/ Debian下的字体不太好看,没有windows ...

  9. STM32入门系列-开发工具keil5安装

    主要介绍如下三部分内容: keil5软件获取 keil5安装 安装STM32芯片包 软件获取 可以通过搜索引擎搜索关键字"KEIL5下载",找到其官方网站www.keil.com. ...

随机推荐

  1. vue2.0中 怎么引用less?

    vue2.0中  怎么引用less? 第一步: 安装less依赖, npm install less less-loader --save 第二步: 修改webpack.config.js文件,配置l ...

  2. Vue插件编写、用法详解(附demo)

    Vue插件编写.用法详解(附demo) 1.概述 简单来说,插件就是指对Vue的功能的增强或补充. 比如说,让你在每个单页面的组件里,都可以调用某个方法,或者共享使用某个变量,或者在某个方法之前执行一 ...

  3. 为什么使用 Web Services?

    最重要的事情是协同工作 由于所有主要的平台均可通过 Web 浏览器来访问 Web,不同的平台可以借此进行交互.为了让这些平台协同工作,Web 应用程序被开发了出来. Web 应用程序是运行在 Web ...

  4. 浅谈smarty模板的mvc框架

    最近接触了一个大项目,php做的后台管理,融合了smarty模板+mvc框架+phpcms内容管理,,,这个项目简直就是php的精华,于是小编大哥对项目小女子产生了兴趣,打算一点一点把她征服.现在小吃 ...

  5. godot新手教程2[godot常用代码用法]

    Godot概念: 在godot内,使用的语言是GDScript,大部分代码风格是和python一样. 在GDScript内代码段结束是换到下一行即可,不需要也不能添加”;”号,(注意:代码段结束后不能 ...

  6. Ubuntu中 apt-get -f install 命令

    Ubuntu 下当发现可能是安装的其他软件包不兼容导致了安装包出错时,可以根据提示需要执行“sudo apt-get  -f install ”来卸载之前的冲突包. 如果安装过aptitude包,还可 ...

  7. 【并行计算与CUDA开发】英伟达硬件加速编解码

    硬件加速 并行计算 OpenCL OpenCL API VS SDK 英伟达硬件编解码方案 基于 OpenCL 的 API 自己写一个编解码器 使用 SDK 中的编解码接口 使用编码器对于 OpenC ...

  8. Vue.js 关于双向绑定的一些实现细节

    Vue.js 是采用 Object.defineProperty 的 getter 和 setter,并结合观察者模式来实现数据绑定的. 当把一个普通 Javascript 对象传给 Vue 实例来作 ...

  9. Zookeeper概述、特点、数据模型

    Zookeeper 1.Zookeeper概述 Zookeeper是一个工具,可以实现集群中的分布式协调服务. 所谓的分布式协调服务,就是在集群的节点中进行可靠的消息传递,来协调集群的工作.   Zo ...

  10. ZoomEye

    * https://www.zoomeye.org/ *类似工具 IVRE 1. 摄像头漏洞 (1)http://www.2cto.com/Article/201401/269458.html (2) ...