hbc - Streaming API 的 Java 客户端


Apache
跨平台
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();