https://www.cnblogs.com/life-for-test/p/6541689.html
底层是nio
https://www.cnblogs.com/minisun/p/6809827.html
一、什么是JMS
JMS即Java消息服务(
Java Message Service)应用程序接口,是一个Java平台中关于面向
消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行
异步通信。
发送者将消息发送给消息服务器,消息服务器将消息存放在若干
队列中,在合适的时候再将消息转发给接收者。
这种模式下:
- 发送和接收是异步的,发送者无需等待;
- 二者的生命周期未必相同:发送消息的时候接收者不一定运行,接收消息的时候发送者也不一定运行;
- 一对多通信:对于一个消息可以有多个接收者。
JAVA 消息服务(JMS)定义了Java 中访问消息中间件的接口。JMS 只是接口,并没有给予实现,实现JMS 接口的消息中间件称为JMS Provider。
已有的 MOM 系统包括:
- Apache的ActiveMQ
- 阿里巴巴的RocketMQ
- RabbitMQ等等
- IBM 的MQSeries
- Microsoft 的MSMQ和BEA的MessageQ
他们基本都遵循JMS规范
二、什么是ActiveMQ
ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的地位,可以说ActiveMQ在业界应用最广泛,当然如果想要有更强大的性能和海量数据处理能力,ActiveMQ还需要不断的升级版本,80%以上的业务我们使用ActiveMQ以及足够满足需求,当然后续如天猫、淘宝网这种大型的电商网站,尤其是双11这种特殊时间,ActiveMQ需要进行很复杂的优化源码以及架构设计才能完成,适合使用RocketMQ。
一、准备安装
下载地址:
安装环境:
jdk1.7
ActiveMQ的5.15版本可以支持jdk1.8
安装
将文件上传至linux服务器,解压
cd
tar -zxvf
apache-activemq-5.11.3-bin.tar.gz
-C /usr/local
配置文件:conf\activemq.xml
数据文件存储在内置的 kahadb 上
内置 jetty 服务器
三、运行
cd /usr/local/
apache-activemq-5.11.3/bin
使用bin目录下的activemq命令启动:
./activemq
start
关闭:
./
activemq
stop
查看状态:
./
activemq
status