OpenJMS administration API(译)



概述
提供代码例子,演示如何使用OpenJMS administration API.


2.准备工作
使用API之前,首先要创建一个JmsAdminServerIFC实例。这要用到AdminConnectionFactory类。



import org.exolab.jms.administration.AdminConnectionFactory;
import org.exolab.jms.administration.JmsAdminServerIfc;

String url = "tcp://localhost:3035/";
JmsAdminServerIfc admin = AdminConnectionFactory.create(url);



如上,url指定了OpenJMS服务路径端口。可以通过查看Connectors文档查看url的详细说明。
如果,服务需要密码就要这样写:



String url = "tcp://localhost:3035/";
String user = "admin";
String password = "openjms";
JmsAdminServerIfc admin = AdminConnectionFactory.create(url, user, password);


注意点:当admin 引用不需要时,应当关闭服务。

admin.close();


列举目的地:

Vector destinations = admin.getAllDestinations();
Iterator iterator = destinations.iterator();
while (iterator.hasNext()) {
Destination destination = (Destination) iterator.next();
if (destination instanceof Queue) {
Queue queue = (Queue) destination;
System.out.println("queue:" + queue.getQueueName());
} else {
Topic topic = (Topic) destination;
System.out.println("topic:" + topic.getTopicName());
}
}

创建目的地,以下两种。


创建Queue:

String queue = "myqueue";
Boolean isQueue = Boolean.TRUE;
if (!admin.addDestination(queue, isQueue)) {
System.err.println("Failed to create queue " + queue);
}

创建Topic:

String topic = "mytopic";
Boolean isQueue = Boolean.FALSE;
if (!admin.addDestination(topic, isQueue)) {
System.err.println("Failed to create topic " + topic);
}


Queue计数
为了知道Queue中可用的消息数,可用一下代码:

String queue = "myqueue";
int count = admin.getQueueMessageCount(queue);
System.out.println("Queue " + queue + " has " + count + " messages");



Topic计数
为了知道Topic中可用的消息数,可用一下代码:

String topic = "mytopic";
String name = "sub1";
int count = admin.getDurableConsumerMessageCount(topic, name);
System.out.println("Subscriber " + name + " has " + count + " messages "
+ "for topic " + topic);


移除目的地

String destination = "myqueue";
if (!admin.removeDestination(destination)) {
System.err.println("Failed to remove destination " + queue);
}


确定目的地是否存在

String destination = "mytopic";
if (admin.destinationExists(destination)) {
System.out.println(destination + " exists");
} else {
System.out.println(destination + " doesn't exist");
}


3.关闭OpenJMS



admin.stopServer();





本文来自优快云博客,转载请标明出处:http://blog.youkuaiyun.com/xnfzr/archive/2008/11/17/3318564.aspx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值