InfoQ

InfoQ

新闻

我的书签

登录注册 以永久保存书签。

该内容已经被标记书签!

标记书签错误,请重试!

ActiveMQ 5.1支持JMS目的地监控和MSMQ桥

作者 Srini Penchikala 译者 张龙 发布于 2008年5月28日

领域
语言 & 开发,
架构 & 设计,
运维 & 基础架构,
企业架构
主题
消息传送 ,
Java ,
开放源代码
标签
ActiveMQ ,
JMS

开源的企业消息服务供应者Apache ActiveMQ最近发布了5.1版,该版本在message broker的稳定性和性能上进行了很多改进。它还支持目的地监控、对消息按优先级排序,通过新的msmq传输组件实现的Microsoft Message Queue(MSMQ)到ActiveMQ的桥。

ActiveMQ容器的监控模块也进行了大量改进。增加一个新类——DestinationSource,它用来访问可用的QueuesTopics以及监听容器中Queues/Topics的创建或销毁。有一个新的API可以帮助最终用户查看可用的目的地(destinations)并对其进行查询以得到JMS统计信息,如活动队列数量、队列深度及消息数量等等。

新版本的其他新特性列举如下:

  • 无需JMS Session和consumer就能获取消息的新API。
  • 增加一个新的sendTimeout属性,这样就可以在MessageProducer类中更加优雅地处理超时。
  • 当传输失败时,可以为已建立连接的备份通道增加选项。当主传输失败时可以动态增加备份通道。
  • ActiveMQ的配置现在可以验证XSD了,这意味着它可以嵌到Spring配置文件中。

管理控制台JAR文件(activemq-console.jar)现在可以OSGi包的形式部署,因此它能在开源的ESB容器——Apache ServiceMix中重用。新版的ActiveMQ还解决了几个bugs,其中一些发生在高负载情况下,另一些与内存泄漏和性能有关。

去年12月发布的ActiveMQ 5.0拥有一些重要的新特性,列举如下:

  • AMQ消息存储(AMQ Message Store)——这是一个嵌入式、事务性的消息存储,可用来进行快速、可靠的持久化。
  • 消息指针(Message Cursors是新的内存模型的一部分,当有可用的空间时(对持久化的消息使用存储指针),它可以在存储地对消息进行分页。增加该特性的目的在于解决旧版本的ActiveMQ中一个常见问题:当使用非持久化的消息时会导致内存溢出。
  • Blob消息(Blob Messages):增加了一个新的BlobMessage API以处理客户端和ActiveMQ服务器之间发送的JMS消息中的二进制大对象(Binary Large OBjects——BLOBs)。
  • 镜像队列(Mirrored Queues):增加了镜像队列特性以更加轻松地监控ActiveMQ容器中特定的队列上的生产者和消费者之间的消息流。这些镜像队列不用配置就可以监听Message Broker内的所有队列。当其可用时,镜像队列会将发送到队列中的每条消息同时发送到一个具有类似名字的Topic;这样开发者和web管理员如果想查看队列上的消息交换的话,他们就可以使用镜像队列的topic。
  • 生产者流程控制(Producer Flow Control):开发者可以独立控制共享的JMS连接上的每个生产者而不必挂起整个连接。

ActiveMQ基于Java消息服务(Java Message Service,即JMS)规范1.1版。它还集成了Spring框架,因此通过Spring可以将ActiveMQ容器作为一个嵌入式broker。 可以在其站点上找到5.0版的更多入门文档以及在企业应用中使用ActiveMQ的一些示例

Apache Camel是ActiveMQ的一个子项目,它用来管理运行在ActiveMQ容器上进程的仲裁和路由活动。Camel(一个基于Spring的集成框架)实现了企业集成模式,从而使得开发者可以使用基于Java的领域特定语言(Domain Specific Language,或者叫Fluent API)、Scala DSL或者Spring的XML配置文件来配置路由和仲裁规则。

查看英文原文:ActiveMQ 5.1 Supports JMS Destination Monitoring and MSMQ Bridge

译者 张龙 热衷于编程,乐于分享,对新技术有强烈的探索欲,对Java轻量级框架有一定研究。

深度内容

大规模视频网站的计费与流量管理

本次分享将会就大规模视频网站的计费与流量管理这个话题,从操作层面细细进行讲解和分析,为系统工程师们揭示平日里我们没有关心的另一些内容。同时也希望本次分享能揭示行业中的一些“潜规则”,让互联网行业的流量与带宽管理更为开放与简洁。
本次演讲视频录制于QCon杭州2011

专访Jeffery Richter:Windows 8是微软的重中之重

Jeffery Richter以其多本Windows核心技术的经典著作而闻名,同时,他深入掌握微软的.NET等一系列核心技术,2012年1月,Jeffery Richter在北京接受了InfoQ中文站的专访,谈到Windows 8和WinRT编程,并就异步编程、Windows编程中的可扩展性、性能和安全性方面给出自己的建议。

应用云平台的可用性——从新浪SAE看云平台设计

云计算平台的可用性,相比传统互联网服务而言,更加复杂和困难,也更具有挑战性。本文借助新浪SAE云平台为读者讲述了云平台可用性的定义、如何打造高可用的平台,以及对云计算的用户提出了建议。

JVM定制改进 @ 淘宝

淘宝高度重视Java平台的健康发展,组建了一个团队专注于Java平台的底层部分的性能、功能与稳定性改进;工作主要基于OpenJDK中的HotSpot VM开展,其中一些通用的功能随后也会逐渐反馈给OpenJDK社区。希望能与使用Java平台开发应用的大家交流经验。
本次演讲视频录制于QCon杭州2011

"伤得起"的云计算应用——对云端应用之架构的思考

2011年4月21日至22日是值得云计算从业者纪念的日子。Amazon的IaaS服务出现故障,导致许多商业网站的服务中断,影响非常严重。作为云计算用户,我们需要思考的是,如何保证即便在云服务不可用的情况,我们的应用架构仍然能够屹立不倒?本文正是站在云计算用户的角度试图探讨这一问题。

让交付的速度跟上思考的速度

12人的技术团队,4组刀片服务器,每月20亿的访问量,每日1次准时部署,99.9%的可用性。这可能吗?当然。想知道如何做的吗?百姓网将与您分享他们在DevOps实践过程中的经验和技巧。
本次演讲视频录制于QCon杭州2011

架构之路——穿行在产品和业务之间

篱笆作为一家起源于社区的电子商务公司,反映到技术层面就是同时要面对产品和业务,以及经营战略的变化调整。如何在产品和业务的夹缝之间完成技术架构的抽象与平衡,寻找更有效的价值定位,这当中有些经验教训和个人感悟愿与众人分享。
本次演讲视频录制于QCon杭州2011

特性注入:成功三部曲

本文将对特性注入以及相关方法做一个扫盲性的介绍。我们会解释这个框架的关键要素,并附上实例来证实它们。为了让文章保持相对较短,我们不会深入到某个工具或方法中,而是会给出一些参考资料,以便大家做进一步的研究。