hbcStreaming API 的 Java 客户端
hbc (Hosebird Client)是Twitter Streaming API 的 Java 客户端开发包。
主要特性:
-
支持GZip、OAuth和分块(partitioning);
-
自动重新连接,并进行适当的backfill计数;
-
访问原始字节的有效负载;
-
适时重新分配,并进行相关统计。
包含了2个主要模块:
-
hbc-core:该模块使用了一个简单的消息队列,用户可以轮询消息。
-
hbc-twitter4j:该模块允许开发者在消息队列中使用Twitter4J项目和它的数据模型,以提供一个分析层。
示例代码:
ClientBuilder builder = new ClientBuilder()
.name("Hosebird-Client-01") // optional: mainly for the logs
.hosts(hosebirdHosts)
.authentication(hosebirdAuth)
.endpoint(hosebirdEndpoint)
.processor(new StringDelimitedProcessor(msgQueue))
.eventMessageQueue(eventQueue); // optional: use this if you want to process client events
Client hosebirdClient = builder.build();
// Attempts to establish a connection.
hosebirdClient.connect();
// on a different thread, or multiple different threads....
while (!client.isDone()) {
String msg = msgQueue.take();
something(msg);
profit();
}
hosebirdClient.shutdown();
评论
