1.什么是ActiveMQ
ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的地位。
主要特点:
-
多种语言和协议编写客户端。语言: Java, C, C++, C#, Ruby, Perl, Python, PHP。应用协议: OpenWire,Stomp REST,WS Notification,XMPP,AMQP
-
完全支持JMS1.1和J2EE 1.4规范 (持久化,XA消息,事务)
-
对Spring的支持,ActiveMQ可以很容易内嵌到使用Spring的系统里面去,而且也支持Spring2.0的特性
-
通过了常见J2EE服务器(如 Geronimo,JBoss 4, GlassFish,WebLogic)的测试,其中通过JCA 1.5 resource adaptors的配置,可以让ActiveMQ可以自动的部署到任何兼容J2EE 1.4 商业服务器上
-
支持多种传送协议:in-VM,TCP,SSL,NIO,UDP,JGroups,JXTA
-
支持通过JDBC和journal提供高速的消息持久化
-
从设计上保证了高性能的集群,客户端-服务器,点对点
-
支持Ajax
-
支持与Axis的整合
-
可以很容易得调用内嵌进行测试
2.ActiveMQ的消息形式
对于消息的传递有两种类型:
一种是点对点的,即一个生产者和一个消费者一一对应;
**另一种是发布/**订阅模式,即一个生产者产生消息并进行发送后,可以由多个消费者进行接收。
JMS定义了五种不同的消息正文格式,以及调用的消息类型,允许你发送并接收以一些不同形式的数据,提供现有消息格式的一些级别的兼容性。
· StreamMessage – Java原始值的数据流
· MapMessage–一套名称-值对
· TextMessage–一个字符串对象
· ObjectMessage–一个序列化的 Java对象
· BytesMessage–一个字节的数据流
3.下载
网址: https://activemq.apache.org/components/classic/download/
或者: https://archive.apache.org/dist/activemq/
进入网址进行下载
本次演示为5.12.0版本
下载到本地电脑进行上传到linux服务器中
4.安装
//解压
[root@localhost ~]# tar zxf apache-activemq-5.12.0-bin.tar.gz
[root@localhost ~]# cd apache-activemq-5.12.0
[root@localhost apache-activemq-5.12.0]# ll
总用量 9360
-rwxr-xr-x. 1 root root 9524668 8月 10 2015 activemq-all-5.12.0.jar
drwxr-xr-x. 5 root root 147 12月 27 09:34 bin
drwxr-xr-x. 2 root root 4096 12月 27 09:34 conf
drwxr-xr-x. 2 root root 26 12月 27 09:34 data
drwxr-xr-x. 2 root root 76 12月 27 09:34 docs
drwxr-xr-x. 8 root root 84 12月 27 09:34 examples
drwxr-xr-x. 6 root root 4096 12月 27 09:35 lib
-rw-r--r--. 1 root root 40580 8月 10 2015 LICENSE
-rw-r--r--. 1 root root 3334 8月 10 2015 NOTICE
-rw-r--r--. 1 root root 2610 8月 10 2015 README.txt
drwxr-xr-x. 7 root root 113 12月 27 09:34 webapps
drwxr-xr-x. 3 root root 18 12月 27 09:34 webapps-demo
[root@localhost apache-activemq-5.12.0]#
//启动
[root@localhost apache-activemq-5.12.0]# bin/activemq start
INFO: Loading '/root/apache-activemq-5.12.0//bin/env'
INFO: Using java '/usr/bin/java'
INFO: Starting - inspect logfiles specified in logging.properties and log4j.properties to get details
INFO: pidfile created : '/root/apache-activemq-5.12.0//data/activemq.pid' (pid '20552')
[root@localhost apache-activemq-5.12.0]#
//查看状态:启动状态
[root@localhost apache-activemq-5.12.0]# bin/activemq start
INFO: Loading '/root/apache-activemq-5.12.0//bin/env'
INFO: Using java '/usr/bin/java'
INFO: Starting - inspect logfiles specified in logging.properties and log4j.properties to get details
INFO: pidfile created : '/root/apache-activemq-5.12.0//data/activemq.pid' (pid '20552')
[root@localhost apache-activemq-5.12.0]# bin/activemq status
INFO: Loading '/root/apache-activemq-5.12.0//bin/env'
INFO: Using java '/usr/bin/java'
ActiveMQ is running (pid '20552')
[root@localhost apache-activemq-5.12.0]#
//关闭
[root@localhost apache-activemq-5.12.0]# bin/activemq stop
[root@localhost apache-activemq-5.12.0]#
注意:要关闭防火墙
5.出现错误
修改hosts文件,配置机器名和127.0.0.1的映射关系。
机器名:/etc/sysconfig/network文件中定义了机器名:
hosts文件配置
重启Activemq的服务
[root@localhost apache-activemq-5.12.0]# cd
[root@localhost ~]#
[root@localhost ~]# vi /etc/hosts
//配置127.0.0.1 映射主机名