
代码如下,从队列 take 数据一直阻塞
public class FilterStreamExample { public static void main(String[] args) throws InterruptedException { run("consumerKey", "consumerSecret", "token", "secret"); } public static void run(String consumerKey, String consumerSecret, String token, String secret) throws InterruptedException { BlockingQueue<String> queue = new LinkedBlockingQueue<String>(10000); StatusesFilterEndpoint endpoint = new StatusesFilterEndpoint(); endpoint.trackTerms(Lists.newArrayList("twitterapi", "#yolo")); Authentication auth = new OAuth1(consumerKey, consumerSecret, token, secret); Client client = new ClientBuilder() .hosts(Constants.STREAM_HOST) .endpoint(endpoint) .authentication(auth) .processor(new StringDelimitedProcessor(queue)) .build(); client.connect(); for (int msgRead = 0; msgRead < 1000; msgRead++) { String msg = queue.take(); System.out.println(msg); } client.stop(); } }