InfoQ

新闻

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

作者 Srini Penchikala译者 张龙 发布于 2008年5月28日 上午9时16分

社区
Java
主题
消息传送,
开放源代码
标签
JMS,
ActiveMQ

开源的企业消息服务供应者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

没有回复

回复

独家内容

剖析短迭代

敏捷教练Dave Nicolette提出:我们应该如何设定迭代长度?是要根据发布周期的时间么?使用短迭代又有哪些好处?

应用JSF、Ajax和Seam开发Portlets(1/3)

本文主要讲述了如何用JBoss Portlet Container 和JBoss Portlet Bridge创建新项目,怎样配置一个JSF应用去使用JBoss Portlet Bridge,以及JBoss Portlet Bridge所具备的功能。

AtomServer:数据分发的发布动力(第二部分)

在这篇文章里,Bryon Jacob和Chris Berry将和我们继续探讨AtomServer,它是基于Apache Abdera的完整Atom存储实现。作者还创建了几个Atompub规范扩展,其中包括自动标记、批处理和Feeds聚合。

架构师(试刊第二期)

InfoQ中文站的电子杂志《架构师》试刊第二期出版了!相比于上期,我们在内容的选择安排和版式上都根据读者的意见重新做了修正。“细节决定成败”,我们希望基于InfoQ中文站的专业内容,《架构师》能逐渐成为大家喜欢的电子刊物!

一种正规的性能调优方法:基于等待的调优

在本文中,Steven Haines探讨了Web应用性能调优问题。该领域过去更像是一门艺术而不是一门科学。他提出了一种称为基于等待调优的方法,使整个调优过程更加可度量,也因此更具科学性。

Java程序员ActionScript 3入门

通常来说,改变技术路线时最艰难的部分是辨别语言语法之间的不同。这篇文章就为Java开发者提供了一份如何转向Flex基础语言ActionScript的指南。

浅谈如何创建Rails应用

本视频主要以财帮子为例,介绍了如何创建一个PV为百万级的Rails应用。其中包括:Rails应用的服务器架构、Rails Cache的优化、负载均衡的处理、Web服务器的调试、分布式解决方案、Open API的设计等等。

Alexandru Popescu谈InfoQ.com网站架构

InfoQ首席架构师Alexandru Popescu在采访中谈论了InfoQ架构、Webwork与DWR、Hibernate与JCR、Hibernate可扩展性、最新的InfoQ视频流系统和InfoQ的未来规划。