今天玩了下 ActiveMQ,希望实现服务器的消息可以通知到各个客户终端。

安装:

1、安装 ActiveMQ 之前必须安装 Java 的 jdk , 可以从此下载:   http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

2、安装完 jdk 后,必须重新设置下环境变量,主要几个:

1)创建环境变量:JAVA_HOME, 值是 jdk 的安装路径,例如:C:\Program Files\Java\jdk1.8.0_91

2)创建环境变量:classpath , 值是   .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar    这是为了在开发时能找到可用的包

3)设置 path, 增加安装路径下的 bin 目录,例如: C:\Program Files\Java\jdk1.8.0_91\bin

3、然后到 ActiveMQ 的解压目录下的 bin 下,用 dos 下运行,或者做个批处理: activemq start

有两种启动方式,还有一种 activemq console

ps: 老版本只需要直接运行 activemq.bat 就可以, 不带参, 我用的是最新的 ActiveMQ 5.13.3 Release

4、运行后,可以直接用 运行服务器地址的 8161 端口验证, 例如: http://127.0.0.1:8161  , 默认登录密码是 admin / admin .   注意通过 conf/jetty-realm.properties 修改登录用户名和密码. conf/jetty.xml 修改 8161 端口

5、ActiveMQ 启动后,默认的连接端口是  81816, 连接没有安全认证,就是说知道 ip 和端口就可以连上去

认证配置:

安全认证目前知道有两种,一种简单的方式:

在conf/activemq.xml文件中加入以下内容即可:

<plugins>
<!-- Configure authentication; Username, passwords and groups -->
<simpleAuthenticationPlugin>
<users>
<authenticationUser username="system" password="${activemq.password}" groups="users,admins"/>
<authenticationUser username="user" password="${guest.password}" groups="users"/>
<authenticationUser username="guest" password="${guest.password}" groups="guests"/>
</users>
</simpleAuthenticationPlugin>
</plugins>

此方法配置中的占位符的值可在conf/credentials.properties 设置

注意:按照官网资料http://activemq.apache.org/xml-reference.html

【To avoid this XML validation error in ActiveMQ 5.4/5.5, simply change the ordering of the XML elements so that they are in alphabetical order。】此配置文件中是按英文字母顺序排列。所以<plugins><plugins/>必须放在<systemUsage>与<managementContext>之间

groups.propert  文件定义了组下面的用户。users.properties 文件定义了用户名对应的密码

还有一种方法看似更高级,没有尝试:

在conf/activemq.xml文件中加上

<plugins>
<!--use JAAS to authenticate using the login.config file on the classpath to configure JAAS -->
<jaasAuthenticationPlugin configuration="activemq-domain" />
<!-- lets configure a destination based authorization mechanism -->
<authorizationPlugin>
<map>
<authorizationMap>
<authorizationEntries> <!-->表示通配符,例如USERS.>表示以USERS.开头的主题,>表示所有主题,read表示读的权限,write表示写的权限,admin表示角色组-->
<authorizationEntry queue=">" read="admins" write="admins" admin="admins" />
<authorizationEntry topic=">" read="admins" write="admins" admin="admins" />
<authorizationEntry queue="ActiveMQ.Advisory.>" read="admins" write="admins" admin="admins" />
<authorizationEntry topic="ActiveMQ.Advisory.>" read="admins" write="admins" admin="admins" />
</authorizationEntries>
</authorizationMap>
</map>
</authorizationPlugin>
</plugins>

b)在conf目录下增加login.config,groups.properties,users.properties

login.config 内容如下:

activemq-domain {
org.apache.activemq.jaas.PropertiesLoginModule required
debug=true
org.apache.activemq.jaas.properties.user="users.properties"
org.apache.activemq.jaas.properties.group="groups.properties";
};

groups.properties  内容如下:

    #group=userName
admins=system users.properties 内容如下: #userName=password
system=manager

关于 ActiveMQ的更多相关文章

  1. Java消息队列--ActiveMq 实战

    1.下载安装ActiveMQ ActiveMQ官网下载地址:http://activemq.apache.org/download.html ActiveMQ 提供了Windows 和Linux.Un ...

  2. 消息队列性能对比——ActiveMQ、RabbitMQ与ZeroMQ(译文)

    Dissecting Message Queues 概述: 我花了一些时间解剖各种库执行分布式消息.在这个分析中,我看了几个不同的方面,包括API特性,易于部署和维护,以及性能质量..消息队列已经被分 ...

  3. (jms)ActiveMQ 安装配置.

    前言 ActiveMQ他是Apache出品的一个JMS提供者,管理会话和队列,运行在JVM下,支持多种语言,如JAVA,C++,C#,应用协议: OpenWire,Stomp REST,WS Noti ...

  4. node(ActiveMq)

    简单尝试了node下的ActiveMQ 1.下载apache-activemq-5.9.0,执行bat文件: 2.登录http://localhost:8161/admin可查看其管理后台: 3.安装 ...

  5. ActiveMQ的集群方案对比及部署

    转载:http://blog.csdn.net/lifetragedy/article/details/51869032 ActiveMQ的集群 内嵌代理所引发的问题: 消息过载 管理混乱 如何解决这 ...

  6. JMS学习之路(一):整合activeMQ到SpringMVC

    JMS的全称是Java Message Service,即Java消息服务.它主要用于在生产者和消费者之间进行消息传递,生产者负责产生消息,而消费者负责接收消息.把它应用到实际的业务需求中的话我们可以 ...

  7. ActiveMQ消息队列的使用及应用

    这里就不说怎么安装了,直接解压出来就行了. 谢绝转载,作者保留所有权力 目录:  一:JMQ的两种消息模式 1.1:点对点的消息模式 1.2:订阅模式 二:点对点的实现代码 2.1:点对点的发送端 2 ...

  8. 从零开始学 Java - Spring 集成 ActiveMQ 配置(一)

    你家小区下面有没有快递柜 近两年来,我们收取快递的方式好像变了,变得我们其实并不需要见到快递小哥也能拿到自己的快递了.对,我说的就是类似快递柜.菜鸟驿站这类的代收点的出现,把我们原来快递小哥必须拿着快 ...

  9. Spring下ActiveMQ实战

    MessageQueue是分布式的系统里经常要用到的组件,一般来说,当需要把消息跨网段.跨集群的分发出去,就可以用这个.一些典型的示例就是: 1.集群A中的消息需要发送给多个机器共享: 2.集群A中消 ...

  10. ActiveMQ(li)

    一.ActiveMQ 首先,ActiveMQ不是一个框架,它不是struct,webx,netty这种框架,它更像是tomcat服务器,因为你使用它之前必须启动它,activeMQ和JMS的关系有点类 ...

随机推荐

  1. Proxy settings in TortoiseSVN and command line svn client

    The server file is created when you install TortoiseSVN, Eclipse or command-line Subversion. Use the ...

  2. Ubuntu 安装软件

    1,安装pthread的man文档 sudo apt-get install manpages-posix manpages-posix-dev

  3. Servlet+Jsp实现图片或文件的上传功能

    首先,我们创建一个新的web工程,在工程的WebRoot目录下新建一个upload文件夹,这样当我们将该工程部署到服务器上时,服务器便也生成个upload文件夹,用来存放上传的资源. 然后,在WebR ...

  4. [SharpDevelop]菜单状态更新

    方式一 在Idle方法中更新 void OnApplicationIdle(object sender, EventArgs e) { // Use the Idle event to update ...

  5. Pytho实现tail -f

    实现Python版的tail -f功能 tail -f 的功能非常好用.我们用Python也可以实现这样的功能.实现的原理是通过Python版本的inotify获得文件的更新消息,从而读取更新的行.p ...

  6. java 笔记(1)-—— JVM基础,内存数据,内存释放,垃圾回收,即时编译技术JIT,高精度类型

    1.java中5个存放数据的地方: (1).寄存器(Registers):位于CPU内部,是速度最快的存储区,但是数量和容量有限.在java中不能直接操作寄存器. (2).栈(Stack):栈位于通用 ...

  7. 别人写的一个Bootstrap系列教程

    http://www.cnblogs.com/lansy/category/659061.html

  8. 学习jsp(1)

    我的开发环境是:jdk1.7;netbean ;tomcat7. 尝试着写了第一个程序: ublic class myServlet extends HttpServlet{    @Override ...

  9. SQL 数据库 连接查询 变量、if else、while

    一.连接查询:通过连接运算符可以实现多个表查询. 连接是关系数据库模型的主要特点,也是它区别于其它类型数据库管理系统的一个标志. 常用的两个链接运算符: 1.join   on(左右连接) 2.uni ...

  10. ofbiz进击 第六节。 --OFBiz配置之[widget.properties] 配置属性的分析

    配置内容分析如下 # -- 定义上下文使用者 -- security.context =default # -- 定义密码限制长度最小值 -- password.length.min =5 # -- ...