ActiveMQ简介以及安装教程

  在介绍 ActiveMQ 之前,我们先了解一下什么是 JMS 。

什么是 JMS ?

  JMS 全称:Java Message Service 中文:Java消息服务。
  Java消息服务指的是两个应用程序之间进行异步通信的API,它为标准消息协议和消息服务提供了一组通用接口,包括创建、发送、读取消息等,用于支持JAVA应用程序开发。在J2EE中,当两个应用程序使用JMS进行通信时,它们之间并不是直接相连的,而是通过一个共同的消息收发服务连接起来,可以达到解耦的效果,我们将会在接下来的教程中详细介绍 ActiveMQ 消息中间件。

为什么要使用 JMS ?

  在JAVA中,如果两个应用程序之间对各自都不了解,甚至这两个程序可能部署在不同的大洲上,那么它们之间如何发送消息呢?举个例子,一个应用程序A部署在印度,另一个应用程序部署在美国,然后每当A触发某件事后,B想从A获取一些更新信息。当然,也有可能不止一个B对A的更新信息感兴趣,可能会有N个类似B的应用程序想从A中获取更新的信息。

  在这种情况下,JAVA提供了最佳的解决方案-JMS,完美解决了上面讨论的问题。

  JMS同样适用于基于事件的应用程序,如聊天服务,它需要一种发布事件机制向所有与服务器连接的客户端发送消息。JMS与RMI不同,发送消息的时候,接收者不需要在线。服务器发送了消息,然后就不管了;等到客户端上线的时候,能保证接收到服务器发送的消息。这是一个很强大的解决方案,能处理当今世界很多普遍问题。

什么是消息队列?

  “消息队列”是在消息的传输过程中保存消息的容器。

常用的消息中间件

ActiveMQ
  ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 规范的 JMS Provider实现。

RabbitMQ
  RabbitMQ是一个在AMQP基础上完成的,可复用的企业消息系统。他遵循Mozilla Public License开源协议。开发语言为Erlang。

RocketMQ
  由阿里巴巴定义开发的一套消息队列应用服务。

消息队列的应用场景请看 : https://segmentfault.com/a/1190000017130224

ActiveMQ简介

 ActiveMQ特点

ActiveMQ 是由 Apache 出品的一款开源消息中间件,旨在为应用程序提供高效、可扩展、稳定、安全的企业级消息通信。它的设计目标是提供标准的、面向消息的、多语言的应用集成消息通信中间件。ActiveMQ 实现了 JMS 1.1 并提供了很多附加的特性,比如 JMX 管理、主从管理、消息组通信、消息优先级、延迟接收消息、虚拟接收者、消息持久化、消息队列监控等等。其主要特性有:

  • 1、支持包括 Java、C、C++、C#、Ruby、Perl、Python、PHP 等多种语言的客户端和协议。协议包含 OpenWire、Stomp、AMQP、MQTT 。
  • 2、提供了像消息组通信、消息优先级、延迟接收消息、虚拟接收者、消息持久化之类的高级特性
  • 3、完全支持 JMS 1.1 和 J2EE 1.4规范(包括持久化、分布式事务消息、事务)
  • 4、对 Spring 框架的支持,ActiveMQ 可以通过 Spring 的配置文件方式很容易嵌入到 Spring 应用中
  • 5、通过了常见的 J2EE 服务器测试,比如 TomEE、Geronimo、JBoss、GlassFish、WebLogic
  • 6、连接方式的多样化,ActiveMQ 提供了多种连接模式,例如 in-VM、TCP、SSL、NIO、UDP、多播、JGroups、JXTA
  • 7、支持通过使用 JDBC 和 journal 实现消息的快速持久化
  • 8、为高性能集群、客户端-服务器、点对点通信等场景而设计
  • 9、提供了技术和语言中立的 REST API 接口
  • 10、支持 Ajax 方式调用 ActiveMQ
  • 11、ActiveMQ 可以轻松地与 CXF、Axis 等 Web Service 技术整合,以提供可靠的消息传递
  • 12、可用作为内存中的 JMS 提供者,非常适合 JMS 单元测试

消息传送模型

点对点模型(Point to Point)
使用队列(Queue)作为消息通信载体,满足生产者与消费者模式,一条消息只能被一个消费者使用,未被消费的消息在队列中保留直到被消费或超时。

发布订阅模型(Pub/Sub)
使用主题作为消息通信载体,类似于广播模式,发布者发布一条消息,该消息通过主题传递给所有的订阅者,在一条消息广播之后才订阅的用户则是收不到该条消息的。

ActiveMQ 的安装

下载文件:

ActiveMQ 官方网站:http://activemq.apache.org/
百度云盘链接:链接: https://pan.baidu.com/s/1FWnmC21C0jTEfGbe2E-y3A

在这里插入图片描述
在这里插入图片描述
在这里我是直接在线下载:

wget http://www.apache.org/dyn/closer.cgi?filename=/activemq/5.15.9/apache-activemq-5.15.9-bin.tar.gz&action=download

版本说明
ActiveMQ5.10.x以上版本必须使用JDK1.8才能正常使用。
ActiveMQ5.9.x及以下版本使用JDK1.7即可正常使用。

注意:由于 ActiveMQ 是由纯 Java 程序,所以必须要有 Java 的运行环境。

解压缩
tar -zxvf apache-activemq-5.15.9-bin.tar.gz
重命名
mv apache-activemq-5.15.9 activemq
检查权限

ls -al activemq/bin
如果权限不足,则无法执行,需要修改文件权限:
chmod 755 activemq

启动 ActiveMQ 服务
./activemq/bin/activemq start
检查进程

ps aux | grep activemq
见到下述内容即代表启动成功
在这里插入图片描述

登录管理界面

启动成功后,在浏览器中访问:http://ip:8161/admin
用户名:admin
密码:admin
见到如下界面:
在这里插入图片描述

修改端口

修改 conf 下的 jetty.xml 文件中的 port 参数重启即可:
在这里插入图片描述

重启 ActiveMQ
./activemq/bin/activemq restart
关闭 ActiveMQ
./activemq/bin/activemq stop
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值