1 ActiveMQ简介
1.1 ActiveMQ是什么
ActiveMQ是一个消息队列应用服务器(推送服务器)。支持JMS规范。
1.1.1 JMS概述
全称:Java Message Service ,即为Java消息服务,是一套java消息服务的API标准。(标准即接口)
实现了JMS标准的系统,称之为JMS Provider。
1.1.2 消息队列
1.1.2.1 概念
消息队列是在消息的传输过程中保存消息的容器,提供一种不同进程或者同一进程不同线程直接通讯的方式。
Producer:消息生产者,负责产生和发送消息到 Broker;
Broker:消息处理中心。负责消息存储、确认、重试等,一般其中会包含多个 queue;
Consumer:消息消费者,负责从 Broker 中获取消息,并进行相应处理;
1.1.2.2 常见消息队列应用
(1)、ActiveMQ
ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现。
(2)、RabbitMQ
RabbitMQ是一个在AMQP基础上完成的,可复用的企业消息系统。他遵循Mozilla Public License开源协议。开发语言为Erlang。
(3)、RocketMQ
由阿里巴巴定义开发的一套消息队列应用服务。
1.2 ActiveMQ能做什么
(1)实现两个不同应用(程序)之间的消息通讯。
(2)实现同一个应用,不同模块之间的消息通讯。(确保数据发送的稳定性)
1.3 ActiveMQ下载
ActiveMQ官网地址: http://activemq.apache.org
ActiveMQ下载地址:http://activemq.apache.org/download-archives.html
--可供下载的历史版本
--说明:
ActiveMQ 5.10.x以上版本必须使用JDK1.8才能正常使用。
ActiveMQ 5.9.x及以下版本使用JDK1.7即可正常使用。
--根据操作系统,选择下载版本。(本教程下载Linux版本)
1.4 ActiveMQ主要特点
(1)支持多语言、多协议客户端。语言: Java,C,C++,C#,Ruby,Perl,Python,PHP。应用协议: OpenWire,Stomp REST,WS Notification,XMPP,AMQP
(2)对Spring的支持,ActiveMQ可以很容易整合到Spring的系统里面去。
(3)支持高可用、高性能的集群模式。
2 入门示例
2.1 需求
使用ActiveMQ实现消息队列模型。
2.2 配置步骤说明
(1)搭建ActiveMQ消息服务器。
(2)创建一个java项目。
(3)创建消息生产者,发送消息。
(4)创建消息消费者,接收消息。
2.3 第一部分:搭建ActiveMQ消息服务器
2.3.1 第一步:下载、上传至Linux
--说明:确保已经安装了jdk
2.3.2 第二步:安装到/usr/local/activemq目录
(1)解压到/usr/local目录下
[root@node07192 ~]# tar -zxvf apache-activemq-5.9.0-bin.tar.gz -C /usr/local
(2)修改名称为activemq
[root@node07192 ~]# cd /usr/local/
[root@node07192 local]# mv apache-activemq-5.9.0/ activemq
2.3.3 第三步:启动ActiveMQ服务器
--说明:ActiveMQ是免安装软件,解压即可启动服务。
[root@node07192 local]# cd activemq/bin
[root@node07192 bin]# ./activemq start
--查看ActiveMQ启动状态
[root@node07192 bin]# ./activemq status
2.3.4 第四步:浏览器访问ActiveMQ管理界面
2.3.4.1 Step1:查看ActiveMQ管理界面的服务端口。在/conf/jetty.xml中
--访问管理控制台的服务端口,默认为:8161
[root@node07192 bin]# cd ../conf
[root@node07192 conf]# vim jetty.xml
2.3.4.2 Step2:查看ActiveMQ用户、密码。在/conf/users.properties中:
--默认的用户名、密码均为amdin
[root@node07192 conf]# vim users.properties
2.3.4.3 Step3:访问ActiveMQ管理控制台。地址:http://ip:8161/
--注意:防火墙是没有配置该服务的端口的。
因此,要访问该服务,必须在防火墙中配置。
(1)修改防火墙,开放8161端口
[root@node07192 conf]# vim /etc/sysconfig/iptables
(2)重启防火墙
[root@node07192 conf]# service iptables restart
(3)登录管理控制台
--登陆,用户名、密码均为admin
--控制台主界面
--搭建ActiveMQ服务器成功!!!
2.4 第二部分:创建java项目,导入jar包
--导包说明:
ActiveMQ的解压包中,提供了运行ActiveMQ的所有jar。
--创建项目