ActiveMQ学习-主从备份及安全配置
安装要求:
1. 部署需要jdk1.5及以上,编译需要jdk1.5(java5)及以上, Java的环境变量
(JAVA_HOME)必须设置,即jdk安装的目录,比如c:\Program Files\jsdk.1.6
2. 下载ActiveMQ,推荐5.0版本以上,这类版本带管理界面,可以看到队列、连接主
机、发送消息等。
a.下载ActiveMQ 5.6.0 Release
https://www.360docs.net/doc/5a889399.html,/download.html放到d盘 ,解压,如图:
运行bin文件夹下的activemq.bat,出现如下图所示:
3. 验证是否运行成功:
ActiveMQ5.6的版本默认启动时,启动了内置的jetty服务器,提供一个demo应用和用于监控ActiveMQ的admin应用:
Admin:http://localhost:8161/admin/
Demo:http://localhost:8161/demo/
Demao界面:
Admin应用界面:
在浏览器中输入:http://localhost:8161/admin/,出现如下图所示表示成功:
其中在导航菜单中,
Queues是队列方式消息。(在Queue Name 中输入要创建的队列名称,点击Create)
使用该队列发送信息:
发送信息后的队列信息为:
点击队列名称test,进入如下界面:
点击MessageID对应的内容,可以查看信息的详细信息:
queue与topic的技术特点对比
Subscribers消息订阅监控查询。
Connections可以查看链接数,分别可以查看xmpp、ssl、stomp、openwire、ws和网络链接。
Network是网络链接数监控。
Send可以发送消息数据。
4. 此时,ActiveMQ已经安装完成了,接下来配置登录监视控制台的用户名和密码。
打开conf文件夹下的jetty.xml,找到
把authenticate属性的值改成true即可,重启activemq.bat,再登录监视控制台,就需要输入密码了,默认的用户名和密码是admin/admin。roles属性指的是登录的
用户角色,这些登录的用户在jetty-realm.properties配置。
5. 修改web的访问端口,在jetty.xml找到一下配置,修改8161即可。
ActiveMQ的运行日志存放在data文件夹下的activemq.log中。
ActiveMQ消息持久化
在broker中设置属性persistent=”true”(默认是true),同时发送的消息也应该是persitent 类型的。ActiveMQ消息持久化有三种方式:AMQ、KahaDB、JDBC。
1、AMQ
AMQ是一种文件存储形式,它具有写入速度快和容易恢复的特点。消息存储在一个个文件中,文件的默认大小为32兆,如果一条消息的大小超过了32兆,那么这个值必须设置大点。当一个存储文件中的消息已经全部被消费,那么这个文件将被标识为可删除,在下一个清除阶段,这个文件被删除。默认配置如下:
Java
2、KahaDB
3、JDBC
1. 控制台安全配置
ActiveMQ使用的是jetty服务器,打开conf/jetty.xml文件,找到
将property name为authenticate的属性value="false" 改为"true",控制台的登录用户名密码保存在conf/jetty-realm.properties文件中,内容如下:
用户格式定义: 用户名:密码[,角色...] , 以上配置就是用户名为admin,密码为admin,角色为admin的用户
重启,访问http://127.0.0.1:8161/admin/将弹出:
除了监视台可以设置用户名和密码之后,ActiveMQ也可以对各个主题和队列设置用户名和密码,在conf/activemq.xml文件中加入以下内容即可(可以在到conf下activemq-security.xml文件都能看到)
simpleAuthenticationPlugin中设置用户名、密码和群组,authorizationPlugin设置主题和队列的访问群组。
credentials.properties文件中添加