12.1. 管理API概述

AMQ 在客户端库中提供了一套完整的管理API。通过该套API的接口可以在应用程序中实现对MQ服务器的动态管理和监控。被管理的服务器可以是应用程序连接的MQ网络中的任何一台服务器。

对服务器进行管理的模型如下图所示:

服务器管理模型

图 12.1. 服务器管理模型


图11:管理模型示意图

在如上图所示的网络中,客户端应用(图中的Client Application)连接到MQ网络的最顶层节点上(图中的MQ_A),七台MQ服务器(图中的MQ_A到MQ_G)组成了一个树状结构的网络,而且客户端应用只能直接连接到“MQ_A”服务器上,无法直接连接到其他服务器。而在应用中却需要对任何一台服务器都能够执行管理动作,例如:判断服务器上的队列是否存在,在服务器上创建一个物理队列等等。这时客户端应用就可以通过使用管理API对网络上任意一台服务器执行管理动作。

通过管理API可以对网络上的任意一台MQ服务器执行以下的管理:

通过管理API的这些管理功能,应用可以做到在中央节点集中式的对整个MQ网络进行管理和配置,从而能够有效的协调子节点的应用系统的运行。

管理API由若干管理接口组成,以下是每个管理接口能够执行的管理功能的概要介绍。

IMqManager,该接口是用于管理网络上MQ服务器的接口。该接口能够执行的管理功能包括:

IMqServiceManager,该接口是用于对服务器的MQ服务进行管理和配置的接口。该接口能够执行的管理功能包括:

IQueueManager,该接口是用于管理MQ服务器上某个队列的接口。该接口能够执行的管理功能包括:

ITopicManager,该接口是用于管理MQ服务器上某个主题的接口。该接口能够执行的管理功能包括:

IDurableSubscriberMonitor,该接口是用于监控MQ服务器上某个持久化订阅者的接口。该接口能够执行的监控功能包括:

IConnectionFactoryManager是用于管理MQ服务器上某个连接工厂的接口。该接口能够执行的管理功能包括:

IConnectorManager是用于管理MQ服务器上某个路由连接器的接口。该接口能够执行的管理功能包括:

对该API的所有管理接口的方法使用时都是同步调用,每次调用之后会一直等到管理结果返回或者调用超时,超时时将返回不确定的管理结果。超时时间可以在创建IMqManager接口的对象时指定。