ActiveMQ教程(一)

Apache ActiveMQ 教程(一)
2008-06-03 11:05

一、特性及优势

1 、实现 JMS1.1 规范,支持 J2EE1.4 以上

2 、可运行于任何 jvm 和大部分 web 容器( ActiveMQ works great in any JVM )

3 、支持多种语言客户端( java, C, C++, AJAX, ACTIONSCRIPT 等等)

4 、支持多种协议( stomp , openwire , REST )

5 、良好的 spring 支持( ActiveMQ has great Spring Support )

6 、速度很快, JBossMQ 的十倍( ActiveMQ is very fast; often 10x faster than JBossMQ. )

7 、与 OpenJMS 、 JbossMQ 等开源 jms provider 相比, ActiveMQ 有 Apache 的支持,持续发展的优势明显。

 

 

 

 

二、下载部署

1 、下载

http://activemq .apache.org/activemq -510-release.html ,下载 5.1.0 Windows Distribution 版本

2 、安装

直接解压至任意目录(如: d:/ apache-activemq -5.1.0 )

3 、启动 ActiveMQ 服务器

方法 1 :

直接运行 bin/activemq .bat

方法 2 (在 JVM 中嵌套启动):

cd example

ant embedBroker

4、ActiveMQ 消息管理后台系统:
http://localhost:8161/admin

 

 

 

 

三、运行附带的示例程序

1 、 Queue 消息示例:

* 启动 Queue 消息消费者

cd example

ant consumer

* 启动 Queue 消息生产者

cd example

ant producer

简要说明:生产者( producer )发消息,消费者( consumer )接消息,发送 / 接收 2000 个消息后自动关闭

2 、 Topic 消息示例:

* 启动 Topic 消息消费者

cd example

ant topic-listener

* 启动 Topic 消息生产者

cd example

ant topic-publisher

简要说明:重复 10 轮, publisher 每轮发送 2000 个消息,并等待获取 listener 的处理结果报告,然后进入下一轮发送,最后统计全局发送时间。

 

 

 

 

四、 Queue 与 Topic 的比较

1 、 JMS Queue 执行 load balancer 语义:

一条消息仅能被一个 consumer 收到。如果在 message 发送的时候没有可用的 consumer ,那么它将被保存一直到能处理该 message 的 consumer 可用。如果一个 consumer 收到一条 message 后却不响应它,那么这条消息将被转到另一个 consumer 那儿。一个 Queue 可以有很多 consumer ,并且在多个可用的 consumer 中负载均衡。

2 、 Topic 实现 publish 和 subscribe 语义:

一条消息被 publish 时,它将发到所有感兴趣的订阅者,所以零到多个 subscriber 将接收到消息的一个拷贝。但是在消息代理接收到消息时,只有激活订阅的 subscriber 能够获得消息的一个拷贝。

3 、分别对应两种消息模式:

Point-to-Point ( 点对点 ),Publisher/Subscriber Model ( 发布 / 订阅者 )

其中在 Publicher/Subscriber 模式下又有 Nondurable subscription (非持久订阅)和 durable subscription ( 持久化订阅 )2 种消息处理方式。

http://jinguo.javaeye.com/blog/233124

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值