第一章 JMS概述

动力节点最新ActiveMQ视频

1-1 Java 消息服务 JMS 概述

两个系统之间或者分布式系统之间的信息通信,是我们开发中比较常见的场景,比如系统A 要把信息发送给系统 B,这个问题我们应该如何去处理?1999 年,原来的 SUN公司领衔提出了一种面向消息的中间件服务 --JMS 规范(标准);(httpClient、 hessian、dubbo、webservice、jms 五种)
JMS 即 Java 消息服务(Java Message Service 的简称),是 Java EE 的标准/规范之一。这种规范(标准) 指出: 消息的发送应该是异步的、非阻塞的;也就是说消息的发送者发送完消息后就直接返回了,不需要等待接收者接收到消息后才能返回,发送者和接收者可以说是互不影响。 所以这种规范(标准) 能够减轻或消除系统瓶颈, 实现系统之间去除耦合,提高系统的整体可伸缩性和灵活性。
JMS 是 Java EE 中定义的一组标准 API,它自身并不是一个消息服务 系统,它是消息传送服务的一个抽象,也就是说它定义了消息传送的 接口而并没有具体实现。
Java EE 已更名为 Jakarta EE (雅加达)

1-2 JMS 规范发展历程

JMS 规范经历了多年的发展,并随着 Java EE 进行了几次升级, 版本 从 1.0 到最新的 2.1 ,它们分别是:

  • Java EE 8 – > Java Message Service API 2.1
  • Java EE 7 – > Java Message Service API 2.0
  • Java EE 6 – > Java Message Service API 1.1
  • Java EE 5 – > Java Message Service API 1.1
  • J2EE1.4 – > Java Message Service API 1.1

1-3 ActiveMQ 概述

我们知道 JMS 只是消息服务的一组规范和接口,并没有具体的实现,而 ActiveMQ 就是JMS 规范的具体实现;

  • ActiveMQ 是 Apache 下的一个项目, 采用 Java 语言开发;
  • ActiveMQ 是一款非常流行的开源消息服务器,实现了 JMS 规范;

1-4 ActiveMQ 与 JMS 关系

我们知道,JMS 只是定义了一组有关消息传送的规范和标准,并没有真正实现,也就说 JMS 只是定义了一组接口而已;就像 JDBC 抽象了关系数据库访问、 JPA 抽象了对象与关系数据库映射一样, JMS 具体的实现由不 同的消息中间件厂商提供, 比如 Apache ActiveMQ 就是 JMS规范的具体实现, Apache ActiveMQ才是一个消息服务系统,而 JMS 不是。

1-5 ActiveMQ 环境搭建

ActiveMQ 运行需要 Java的支持,首先需要配置 Java 环境变量;
1、下载
2 、解 压 : tar -zxvf apache-activemq-5.15.2-bin.tar.gz -C /usr/local/
其中 -C /usr/local/ 指定把文件解压到哪里去解压后就安装完成了,即可使用,不需要其他操作
3 、切 换 到 解 压 后 的activemq的bin 目 录 下cd/usr/local/apache-activemq-5.15.2 去启动
4、切换到 bin 目录下,启动:./activemq start
5、切换到 bin 目录下,关闭:./activemq stop
无法关闭的问题

  1. 把 data 目录下的所有文件及目录都删除
  2. 把 activeMQ 主目录下的 tmp 目录也删除

启动后有两个端口号,一个是 web 控制台:8161,一个是消息服务broker 连接端口: 61616
web 管理控制台 admin URL 地址:http://localhost:8161默认登录账号 admin 密码 admin,注意:Linux 防火前要关闭 消息服务 broker URL 地址 :tcp://localhost:61616

1-6 Windows 下环境搭建

下载 activeMQ windows 版本的压缩包解压下载下来的压缩包,解压后就可以直接使用进入解压后的目录的 bin 下面 在地址栏输入 cmd 后确定
在 dos 窗口里面输入:activemq start进行启动,关闭:activemq stop

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐