ActiveMQ in Action-1.1 ActiveMQ features- 高飞网

1.1 ActiveMQ features

2016-05-31 15:12:16.0

1.1 ActiveMQ特性

    ActiveMQ提供了丰富特性,这经历了人类数百年努力。该书会剖析这些特性。下面对这些本书中提到的特性,高度地概括了一个列表:

    · 遵从JMS规范:理解ActiveMQ的一个好的出发点,就是它是JMS1.1规范的实现。正如后面章节中讲到的,JMS规范中规定了重要的优势与担保,包括同步和异步消息传递;有且只有一次的消息传递;订阅消息的持久化等等。遵从JMS规范,就意味着无论使用什么JMS提供商,相同的基本特性都会是都支持。

    · 连通性:ActiveMQ提供了一个宽泛的连接选项,包括对HTTP/S、IP广播、SSL、STOMP、TCP、UDP、XMPP等协议的支持。能支持这么多协议就等同于更为灵活。很多已存在的系统使用了特别的协议,且没有选项去改变。因此一个支持多种协议的消息平台可以屏蔽这障碍。即使连通性是重要的,与其他容器无缝的集成同样是重要的。第4章会介绍ActiveMQ的传输连接和网络连接。

    · 插件式的持久化与安全性支持:ActiveMQ提供了多样的持久化支持,你可以从中选择一种。另外,ActiveMQ的安全定制的验证和授权类型也是你最需要的。例如,ActiveMQ基于KahaDB提供了独具特色的超快消息持久化机制,当然也支持标准的JDBC数据存储。KahaDB: http://www.cnblogs.com/dycg/archive/2013/07/16/3193285.html

ActiveMQ也支持它自己基于属性文件的简单认证与授权,当然还有JAAS登录模块。这两个话题会在第5、6章讨论。

    · 用java构建消息应用:ActiveMQ最通用的使用方式即用于Java应用的消息发送与接收。在ActiveMQ中使用jms规范的任务细节会在第7章讨论。

    · 与应用服务器集成:在Java应用服务中集成ActiveMQ是很常见的。第8章提到了ActiveMQ与一些流行应用服务器集成的示例,包括Apache Tomcat、Jetty、Apache Geronimo和JBoss。

    · 客户端APIs:ActiveMQ提供了多种语言的客户端APIs,除了Java还包括C/C++,.NET、Perl、PHP、Python、Ruby等。这打开了通向非Java领域使用ActiveMQ的大门。许多其他语言也能通过clientAPIs使用ActiveMQ的所有特性和优势。当然,ActiveMQ的服务端仍然运行在Java虚拟机中,但client却可以使用任意一种语言。第9章会介绍客户端连接ActiveMQ

    · 服务器集群:许多ActiveMQ服务端为了扩展都可以在一个联合网络中一起工作。诸如network of brokers并且能支持不同的拓扑结构。这个话题在第10章讲。

    · 许多高级服务端特性和客户端选项:ActiveMQ为服务端和连接到服务端的客户端提供了许多的精致的特性。ActiveMQ也支持通过xml配置文件使用Apache Camel。这会在第11、12章讲

    · 优秀而专业管理器:ActiveMQ对开发者用心设计了。例如它不需要一专门的管理员,因为它提供了易用且功能强大的管理特性。有很多方式可以监控ActiveMQ,包括用JMX,Jconsole或者ActiveMQ的web控制台,或通过ActiveMQ传递消息,用命令行脚本,甚至用控制日志。这部分在第14章中讲。

    上面这里只是对ActiveMQ提供的特性的尝鲜。正如你看到的,这些话题会在本书后面的章节中一一列出。对于示例的目的,第3章会讲到这些例子。但在看这些例子之前,会给一些你已经看到的这么多特性的真实存在,我们确信你会有些疑问,为什么要用ActiveMQ呢?