JMS(Java消息服务)之ActiveMQ的介绍,安装与测试

JMS(Java消息服务)之ActiveMQ的介绍,安装与测试

介绍:

ActiveMQ是Apache出品的,最流行的,能力强劲的开源消息总线(JMS提供者),是一个完全支持JMS1.1和J2EE1.4规范的JMS Provider实现。具有如下的特性:

  • 多语言和协议编写客户端。支持的语言有java、C、C++、C#、python、Ruby、Perl、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的整合。
  • 可以很容易的调用内嵌JMS provider,进行测试。
安装

去官网http://activemq.apache.org/download.html 下载最新版本5.15.8release。
解压apache-activemq-5.15.8-bin.zip(或者apache-activemq-5.15.8-bin.tar.gz)目录如下:
+bin (windows下面的bat和unix/linux下面的sh)
+conf (activeMQ配置目录,包含最基本的activeMQ配置文件)
+data (默认是空的)
+docs (index,replease版本里面没有文档,-.-b不知道为啥不带)
+example (几个例子
+lib (activemMQ使用到的lib)
-apache-activemq-4.1-incubator.jar (ActiveMQ的binary)
-LICENSE.txt
-NOTICE.txt
-README.txt
-user-guide.html

你可以使用命令行方式启动:打开cmd,进入到%ACTIVEMQ_HOME%\bin目录下,使用命令:

          activemq start 						//打开服务

如果一切顺利,你就会看见类似下面的信息:
在这里插入图片描述你也可以将%ACTIVEMQ_HOME%\bin写入环境变量中,避免每次启动服务需cmd进入指定文件夹下命令操作。
你也可以使用bin\activemq.bat(activemq) 启动。

ps:若出现以下错误闪退无法启动,则因MQ版本和JRE版本不匹配问题导致,更换JRE或者MQ版本即可。
如果更换版本依然出现闪退,则可以通过编辑activemq.bat,在末端加上pause,重新启动则可以暂停闪退找出问题 在这里插入图片描述>ps:windows系统直接运行activemq.bat闪退,则可尝试使用上述cmd命令行启动方式。>在这里插入图片描述

ps:
⒈ 这个仅仅是最基础的ActiveMQ的配置,很多地方都没有配置因此不要直接使用这个配置用于生产系统。
⒉ 有的时候由于端口被占用,导致ActiveMQ错误,ActiveMQ可能需要以下端口1099(JMX),61616(默认的TransportConnector)。

.在这里插入图片描述
此端口可能被windows的某种服务占用掉,所以需要修改activemq的默认端口;
解决办法:进入到%ACTIVEMQ_HOME%\conf中的actviemq.xml中修改61616位61618(此端口可为任意未被占用端口)即可:
在这里插入图片描述另外,如果主机地址请求有问题,可以将上面的0.0.0.0修改为localhost。

⒊ 如果没有物理网卡,或者MS的LoopBackAdpater Multicast会报一个错误。

测试

由于ActiveMQ是一个独立的jms provider,所以我们不需要其他任何第三方服务器就可以马上做我们的测试了.

启动成功后,访问http://localhost:8161/admin,即可登录ActiveMQ管理界面。默认账号admin 密码admin,登录成功显示如下:在这里插入图片描述

ps:用户名和密码在%ACTIVEMQ_HOME%\conf中的jetty-realm.properties中配置。安全需求高的可以进行修改。如下:在这里插入图片描述

ps:编译example目录下面的程序 ProducerTool/ConsumerTool 是JMS参考里面提到的典型应用,Producer产生消息,Consumer消费消息,而且这个例子还可以加入参数帮助你测试刚才启动的本地 ActiveMQ或者是远程的ActiveMQ。
ProducerTool broker的地址,默认的是tcp://localhost:61616
[true|flase] 是否使用topic,默认是false
[subject] subject的名字,默认是TOOL.DEFAULT
[durabl] 是否持久化消息,默认是false
[messagecount] 发送消息数量,默认是10
[messagesize] 消息长度,默认是255
[clientID] durable为true的时候,需要配置clientID
[timeToLive] 消息存活时间
[sleepTime] 发送消息中间的休眠时间
[transacte] 是否采用事务
ConsumerTool broker的地址,默认的是tcp://localhost:61616
[true|flase] 是否使用topic,默认是false
[subject] subject的名字,默认是TOOL.DEFAULT
[durabl] 是否持久化消息,默认是false
[maxiumMessages] 接受最大消息数量,0表示不限制
[clientID] durable为true的时候,需要配置clientID
[transacte] 是否采用事务
[sleepTime] 接受消息中间的休眠时间,默认是0,onMeesage方法不休眠
[receiveTimeOut] 接受超时
我们可以这样使用:
先启动activeMQ,再打开两个命令窗口,都进入%ACTIVEMQ_HOME%\example,一个运行:ant consumer,一个运行:ant producer,如果成功发送/接收了消息就OK了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值