12.3. 管理MQ服务

执行该管理动作之前需要先创建对象工厂,然后才能使用该对象工厂创建可以执行该管理动作的对象。

以下代码演示了如何使用API提供的功能对MQ服务器的核心参数进行管理和配置。

try {
    //在执行下面的代码之前,需要先创建对象工厂,假设其名称为:factory
    //使用createMqManager创建一个IMqManager的实现类的对象,该对象用于管理网络上某台MQ服务器,
    //要管理的服务器由路由名参数指定,该对象采用默认的120秒请求超时时间
    IMqManager mqManager = factory.createMqManager("Admined Server Router Name");
    //得到该服务器的MQ服务管理对象
    IMqServiceManager service = mqManager.getMqServiceManager();
    MqServiceConfigureInfo config = service.getServiceConfigure();
    System.out.println("RouterName is : " + config.getRouterName());
    System.out.println("Passphrase is : " + config.getPassphrase());
    ...  
} catch (JmsAdminException e) {
    //异常处理代码
}
...

try {
    //在执行下面的代码之前,需要先创建对象工厂,假设其名称为:factory
    //使用createMqManager创建一个IMqManager的实现类的对象,该对象用于管理网络上某台MQ服务器,
    //要管理的服务器由路由名参数指定,该对象采用默认的120秒请求超时时间
    IMqManager mqManager = factory.createMqManager("Admined Server Router Name");
    //得到该服务器的MQ服务管理对象
    IMqServiceManager service = mqManager.getMqServiceManager();
    MqServiceConfigureInfo config = new MqServiceConfigureInfo();
    config.setRouterName("RouterName");
    config.setPassphrase("Passphrase");
    ...
    service.setServiceConfigure(config);
    //设置MQ服务的配置之后需要手工重启MQ服务才能使配置生效,
    //重启MQ服务会重启队列、主题、JMS连接工厂、路由连接器等MQ资源。
    service.restart();
    ... 
} catch (JmsAdminException e) {
    //异常处理代码
}
...

try {
    //在执行下面的代码之前,需要先创建对象工厂,假设其名称为:factory
    //使用createMqManager创建一个IMqManager的实现类的对象,该对象用于管理网络上某台MQ服务器,
    //要管理的服务器由路由名参数指定,该对象采用默认的120秒请求超时时间
    IMqManager mqManager = factory.createMqManager("Admined Server Router Name");
    //得到该服务器的MQ服务管理对象
    IMqServiceManager service = mqManager.getMqServiceManager();
    System.out.println(service.getActiveConnectionCount());
    ... 
} catch (JmsAdminException e) {
    //异常处理代码
}
...