MQ 系列之 ActiveMQ 介绍
1.1 简介
1.1.1 ActiveMQ 概述
Apache ActiveMQ 是 Apache 软件基金会所研发的开放源代码消息中间件;由于 ActiveMQ 是一个纯 Java 程序,因此只需要操作系统支持 Java 虚拟机,ActiveMQ 便可执行。ActiveMQ 是一个完全支持 JMS1.1 和 J2EE 1.4 规范的 JMS Provider 实现。
1.1.2 JMS 概述
JMS(Java Messaging Service) 是 Java 平台上有关面向消息中间件的技术规范,它便于消息系统中的 Java 应用程序进行消息交换,并且通过提供标准的产生、发送、接收消息的接口简化企业应用的开发。JMS 本身只定义了一系列的接口规范,是一种与厂商无关的 API,用来访问消息收发系统。它类似于 JDBC(java Database Connectivity):这里,JDBC 是可以用来访问许多不同关系数据库的 API,而 JMS 则提供同样与厂商无关的访问方法,以访问消息收发服务。许多厂商目前都支持 JMS,包括 IBM 的 MQSeries、BEA 的 Weblogic JMS service 和 Progress 的 SonicMQ。
JMS 能够通过消息收发服务(有时称为消息中介程序或路由器)从一个 JMS 客户机向另一个 JMS 客户机发送消息。消息是 JMS 中的一种类型对象,由两部分组成:报头和消息主体。报头由路由信息以及有关该消息的元数据组成。消息主体则携带着应用程序的数据或有效负载。JMS 定义了五种不同的消息正文格式,以及调用的消息类型,允许你发送并接收以一些不同形式的数据,提供现有消息格式的一些级别的兼容性。
♞ TextMessage
:个字符串对象
♞ MapMessage
:套名称 - 值对
♞ ObjectMessage
:个序列化的 Java 对象
♞ BytesMessage
:个字节的数据流
♞ StreamMessage
:Java 原始值的数据流
1.1.3 JMS 消息传递类型
JMS 有两种消息通信模型,点对点模型(point to point)(p2p)和发布/订阅模型(pub/sub),ActiveMq 实现了 JMS 接口,同样,ActiveMq 也实现了这两种模型。 点对点模型规定了一个消息只能被一个接收者接收,而发布/订阅模型允许一个消息可以被多个消息接收者接收。
☞ 点对点
当一个消息生产者产生一个消息时,会把消息放入一个队列(Queue)中,然后消息消费者从 Queue 中读取消息,如果同时有多个消费者读取消息,ActiveMq 保证消息只会被一个消费者读取到,消费者读取到消息之后需要向 ActiveMq 发送一条确认信息,确认消息已经被接收,此时,队列(Queue)中的消息出队,整个流程就处理完了。
☞ 发布/订阅
发布/订阅模式允许一条消息可以被多个订阅了该 Topic 的消息消费者接收,当一个消息生产者产生一个消息时,会把消息放入一个 Topic 中,然后监听在此 Topic 上的消息消费者都能接收到消息。
1.2 安装 ActiveMQ
1.2.1 Windows 平台
☞ 下载
首先去 ☛ ActiveMQ 官网 下载 Windows 版本的压缩包
☞ 安装
将下载好的压缩包放到合适的路径下,解压。你就得到了一个安装好的 ActiveMQ。
☞ 启动
进入 bin 目录,打开 cmd 执行 ./activemq start
命令,
1.2.2 Linux 平台
☞ 下载
首先去 ☛ ActiveMQ 官网 下载 Unix/Linux/Cygwin 版本的压缩包,将其上传至服务器。
☞ 解压、赋权
使用 tar zxvf apache-activemq.tar.gz
将 ActiveMQ 解压,然后使用 chmod 777 apache-activemq
给解压好的文件赋权。
☞ 启动
进入 apache-activemq\bin
目录,执行 ./activemq start
启动 MQ,注意要先安装好 JDK 才能正常启动。注意若关闭防火墙之后仍然无法访问管理界面请修改 conf/jetty.xml
1.2.3 ActiveMQ 管理界面
在浏览器输入服务器 IP + 8161 端口进入 ActiveMQ 登录界面,输入默认账号:admin,默认密码:admin 点击 Manage ActiveMQ broker
进入主管理界面。
点击对应的选项卡进入点对点消息列表(Queues)和发布/订阅消息列表(Topics),列表各列信息含义如下:
♞ Name
:名称
♞ Number Of Pending Messages
:等待消费的消息 这个是当前未出队列的数量。
♞ Number Of Consumers
:消费者 这个是消费者端的消费者数量
♞ Messages Enqueued
:进入队列的消息 进入队列的总数量,包括出队列的。
♞ Messages Dequeued
:出了队列的消息 可以理解为是消费这消费掉的数量
MQ 系列之 ActiveMQ 介绍相关推荐
- MQ 系列之 ActiveMQ 搭建 Zookeeper + Replicated LevelDB 集群
1.1 简介 1.1.1 概述 从 ActiveMQ 5.9 开始,ActiveMQ 的集群实现方式取消了传统的 Masster-Slave 方式.,增加了基于 Zookeeper + Level ...
- 【消息中间件MQ系列】消息队列之ActiveMQ、RocketMQ、RabbitMQ、Kafka不得不说的秘密
热门系列: [消息中间件MQ系列]RabbitMQ安装与使用,并与SpringBoot整合 程序人生,精彩抢先看 目录 1.消息队列/消息中间件介绍 1.1 消息中间件是什么 1.1.1 消息中间件的 ...
- 【SpringBoot MQ 系列】RabbitListener 消费基本使用姿势介绍
[MQ 系列]RabbitListener 消费基本使用姿势介绍 之前介绍了 rabbitmq 的消息发送姿势,既然有发送,当然就得有消费者,在 SpringBoot 环境下,消费可以说比较简单了,借 ...
- active mq topic消费后删除_【SpringBoot MQ 系列】RabbitListener 消费基本使用姿势介绍
[MQ 系列]RabbitListener 消费基本使用姿势介绍 之前介绍了 rabbitmq 的消息发送姿势,既然有发送,当然就得有消费者,在 SpringBoot 环境下,消费可以说比较简单了,借 ...
- 《吃透 MQ 系列》之扒开 Kafka 的神秘面纱
大家好,我是武哥.这是<吃透 MQ 系列>的第二弹,有些珊珊来迟,后台被好几个读者催更了,实属抱歉! 这篇文章拖更了好几周,起初的想法是:围绕每一个具体的消息中间件,不仅要写透,而且要控制 ...
- SpringBoot 2.0 系列001 -- 入门介绍以及相关概念
为什么80%的码农都做不了架构师?>>> SpringBoot 2.0 系列001 -- 入门介绍以及相关概念 什么是SpringBoot? 项目地址:http://proje ...
- 提炼游戏引擎系列:开篇介绍
前言 大家好!本系列记录了从炸弹人游戏中提炼2D游戏引擎YEngine2D雏形的实战过程,您可以通过本系列了解到引擎提炼的思想.引擎的设计以及引擎是如何从游戏中提炼的,学习引擎开发的知识.希望对您能有 ...
- WPF入门教程系列三——Application介绍(续)
接上文WPF入门教程系列二--Application介绍,我们继续来学习Application 三.WPF应用程序的关闭 WPF应用程序的关闭只有在应用程序的 Shutdown 方法被调用时,应用程序 ...
- WPF入门教程系列四——Dispatcher介绍
WPF入门教程系列四--Dispatcher介绍 一.Dispatcher介绍 微软在WPF引入了Dispatcher,那么这个Dispatcher的主要作用是什么呢? 不管是WinForm应用程序还 ...
最新文章
- node.js和npm版本升级及升级过程中遇到的问题和解决方案
- 图解eclipse+myeclipse完全绿色版制作过程
- spring boot 核心_SpringBoot 核心技术 — 自动配置
- 七十、反转和合并链表、 链表有环的判断
- 在使用 ADO.NET 导出 Excel 文件时,设置 IMEX=1 仍不能导出所有数据的解决办法
- pcm 采样率转换_All Video Converter Pro for mac(音视频格式转换器)
- PHP案例:单引号字符串与双引号字符串有什么区别?
- (转)ArcObjects SDK(AE)10.1在vs2012安装的方法
- 备份k8s_树莓派k8s集群安装kafka集群及监控
- Starship Troopers(HDU 1011 树形DP)
- STM32DMA搬运ADC只搬了一半数据的原因。
- 练字一定要用钢笔吗?
- 在线广告结算方式与ecpm估计关系
- DEM: 诊断事件管理 (Diagnostic Event Manager)
- Hisense E76mini查看手机IP
- easypoi导出多个Excel压缩zip下载
- 【牛客网OJ题】计算糖果
- SQL语句和sql函数
- 软件测试工作中需要的Linux知识,一篇文章就够了
- 华为网络--Hybrid接口工作原理与实验
热门文章
- sEMG信号小波阈值去噪
- 图片去栅栏的代码实现
- JS操作COOKIES
- 计算机考研考电路基础,2018考研华中科技大学814电路理论考试大纲
- oracle12清理内存,ORACLE 12.1 内存消耗完宕机
- HP Sprinter:敏捷加速器
- CWOW一区,没落之最(没有之一)的服务器:藏宝海湾
- Springboot2.2中的RSocket体验
- python自定义windowsr日志支持文件分割
- 学习laravel5,Win7安装Composer-Setup.exe,出错ERR_CONNECTION:Unable to connect to getcomposer.org