执行该管理动作之前需要先创建对象工厂,然后才能使用该对象工厂创建可以执行该管理动作的对象。
以下代码演示了如何使用API提供的功能管理MQ服务器上的主题。
创建一个主题:
try {
//在执行下面的代码之前,需要先创建对象工厂,假设其名称为:factory
//使用createMqManager创建一个IMqManager的实现类的对象,该对象用于管理网络上某台MQ服务器,
//要管理的服务器由路由名参数指定,该对象采用默认的120秒请求超时时间
IMqManager mqManager = factory.createMqManager("Admined Server Router Name");
//创建一个TopicConfigureInfo对象,并指定要创建的主题的配置
TopicConfigureInfo config = new TopicConfigureInfo("ApusicTopic");
config.setJndiName("ApusicTopicJndiName");
config.setCacheSize(100);
//使用IMqManager接口的createTopic方法创建一个指定配置的主题
if (!mqManager.isTopicExistent(config.getName())) {
ITopicManager topic = mqManager.createTopic(config);
...
}
...
} catch (JmsAdminException e) {
//异常处理代码
}
...
删除一个主题:
try {
//在执行下面的代码之前,需要先创建对象工厂,假设其名称为:factory
//使用createMqManager创建一个IMqManager的实现类的对象,该对象用于管理网络上某台MQ服务器,
//要管理的服务器由路由名参数指定,该对象采用默认的120秒请求超时时间
IMqManager mqManager = factory.createMqManager("Admined Server Router Name");
boolean removeRet = mqManager.removeTopic("ApusicTopic");
...
} catch (JmsAdminException e) {
//异常处理代码
}
...
得到所有主题的状态和名称:
try {
//在执行下面的代码之前,需要先创建对象工厂,假设其名称为:factory
//使用createMqManager创建一个IMqManager的实现类的对象,该对象用于管理网络上某台MQ服务器,
//要管理的服务器由路由名参数指定,该对象采用默认的120秒请求超时时间
IMqManager mqManager = factory.createMqManager("Admined Server Router Name");
Collection<ComponentState> allTopics = mqManager.getAllTopicState();
for (Iterator<ComponentState> ite = allTopics.iterator(); ite.hasNext();) {
ComponentState topicState = ite.next();
System.out.println(topicState.getName());
...
}
...
} catch (JmsAdminException e) {
//异常处理代码
}
...
得到一个主题的配置:
try {
//在执行下面的代码之前,需要先创建对象工厂,假设其名称为:factory
//使用createMqManager创建一个IMqManager的实现类的对象,该对象用于管理网络上某台MQ服务器,
//要管理的服务器由路由名参数指定,该对象采用默认的120秒请求超时时间
IMqManager mqManager = factory.createMqManager("Admined Server Router Name");
//通过参数指定要管理的主题
ITopicManager tManager = mqManager.createTopicManager("ApusicTopic");
TopicConfigureInfo config = tManager.getConfigure();
System.out.println("Topic name is : " + config.getName());
System.out.println("Topic jndi name is : " + config.getJndiName());
System.out.println("Topic cache size is : " + config.getCacheSize());
...
} catch (JmsAdminException e) {
//异常处理代码
}
...
设置一个主题的配置:
try {
//在执行下面的代码之前,需要先创建对象工厂,假设其名称为:factory
//使用createMqManager创建一个IMqManager的实现类的对象,该对象用于管理网络上某台MQ服务器,
//要管理的服务器由路由名参数指定,该对象采用默认的120秒请求超时时间
IMqManager mqManager = factory.createMqManager("Admined Server Router Name");
ITopicManager tManager = mqManager.createTopicManager("ApusicTopic");
TopicConfigureInfo config = new TopicConfigureInfo(null);
config.setJndiName("ApusicTopicJndiName");
config.setCacheSize(150);
config.setExpiryCheckInterval(180);
tManager.setConfigure(config);
...
} catch (JmsAdminException e) {
//异常处理代码
}
...
重启一个主题:
try {
//在执行下面的代码之前,需要先创建对象工厂,假设其名称为:factory
//使用createMqManager创建一个IMqManager的实现类的对象,该对象用于管理网络上某台MQ服务器,
//要管理的服务器由路由名参数指定,该对象采用默认的120秒请求超时时间
IMqManager mqManager = factory.createMqManager("Admined Server Router Name");
ITopicManager tManager = mqManager.createTopicManager("ApusicTopic");
tManager.restart();
...
} catch (JmsAdminException e) {
//异常处理代码
}
...