-
Notifications
You must be signed in to change notification settings - Fork 691
Java topicbrowser
dennis zhuang edited this page May 30, 2013
·
4 revisions
本指南以1.4.5版本的java客户端为起点编写。
- 简单例子
- 消息
- 客户端配置
- 会话工厂MessageSessionFactory
- 发送消息MessageProducer
- 订阅消息MessageConsumer
- 遍历消息TopicBrowser
- Spring框架支持
- 高级主题
某些情况下,你可能有需要遍历某个topic下所有消息的需求,这可以通过1.4.5新增的TopicBrowser
来实现,一个简单的例子:
final String topic = "meta-test";
final TopicBrowser browser = sessionFactory.createTopicBrowser(topic);
Iterator<Message> it = browser.iterator();
while (it.hasNext()) {
Message msg = it.next();
System.out.println("message body:" + new String(msg.getData()));
}
通过createTopicBrowser
即可创建一个topic browser,这个方法同时有一个重载版本
createTopicBrowser(String topic, int maxSize, long timeout, TimeUnit timeUnit);
,可以设置请求的buffer大小,超时等。
TopicBrowser
可以多次复用,每次iterator
方法返回的都是一个全新的迭代器,它按照broker id,partition号的顺序遍历消息。注意,返回的迭代器不支持删除,无法删除消息。
TopicBrowser.getPartitions()
方法可以用来获取该topic下的所有分区信息。
TopicBrowser.shutdown()
用来关闭topic browser,释放资源。