-
背景
之前没接触jms相关内容。最近项目推送模块需要用到异步消息中间件activemq,这两天开始学习。
activemq官网: http://activemq.apache.org/
由于官方文档较少,更多要参考《activemq in action》这本书。
原版英文书下载地址如下:http://pan.baidu.com/s/1sjQgph7
-
部署环境
VMware中新建了一台centos6.5虚拟机
宿主机是win7
-
部署步骤
-
保证虚拟机能与本机通讯:配置VMware的网络,使用VMware自带的dhcp给centos分配ip,用NAT提供虚拟机公网访问能力。
在本机服务中确保VMware相关服务已启动
获取虚拟机的ip,我的是192.168.122.128,主机ip是192.168.122.2,即网关。若执行 ip a s获取地址发现ip没有在dhcp服务器同一网段且网卡没启动,查看/etc/sysconfig/network-scripts/ifcfg-xx网络配置是否onboot=yes 并执行service network restart即可获取ip地址。
相互ping看是否可ping通。同时测试虚拟机是否能访问外网。
-
在虚拟机中搭建sshd,本机使用xshell进行连接。
-
搭建activemq,这里忽略JDK的安装(大概内容是:解压JDK8,并配JAVA_HOME,在/etc/profile中添加全局环境变量)
获取二进制安装包,解压,并添加运行权限。了解解压后目录结构和意义(略)
mkdir /usr/local/activemq && cd /usr/local/activemq
wget http://mirrors.hust.edu.cn/apache/activemq/5.12.0/apache-activemq-5.12.0-bin.zip
unzip apache-activemq-5.12.0-bin.zip
chmod +x apache-activemq-5.12.0/bin/activemq
以默认配置运行
apache-activemq-5.12.0/bin/activemq start
这时,可在主机连接虚拟机的8161端口服务,这是activemq的监控后台http://192.168.122.128:8161
停止服务
apache-activemq-5.12.0/bin/activemq stop
运行自带demo程序
apache-activemq-5.12.0/bin/activemq console xbean:apache-activemq-5.12.0/examples/conf/activemq-demo.xml
这时,可看demo程序,加深认识 http://192.168.122.128:8161/demo
若无法连接,请查看网络连接情况
netstat -anp | grep 8161
service iptables stop
接下来,熟悉一下topic和queue两种jms类型,以及message的类型text,byte,stream,object,etc.
以上,只是单broker的activemq部署,官方文档指出activemq支持failove集群部署,master-slave部署等。
至此,搭建activemq测试环境结束。