我有一个非常简单的客户端
private void start() throws IOReactorException, InterruptedException {
DefaultHttpAsyncClient client = new DefaultHttpAsyncClient();
HttpAsyncRequestProducer prod = HttpAsyncMethods.createGet("http://b1.bigde.nrel.gov:8080");
HttpAsyncResponseConsumer<Object> handler = new MyResponseHandler();
FutureCallback<Object> futureCb = new MyFutureCbHandler();
client.execute(prod, handler, futureCb);
log.info("now sleeping");
Thread.sleep(30000);
log.info("done sleeping");
}
问题是没有调用任何侦听器方法。 MyResponseHandler正在扩展AsyncCharConsumer但没有调用任何东西,并且在FutureCallback上没有调用任何内容。我从来没有得到回应。
注1:我需要能够调用client.execute并返回堆栈而不与Futures交互
注意2:我需要调用的侦听器方法(并且需要将它们称为数据,因为远程端正在回传http chunking。
有没有办法让它发挥作用?或者我应该切换库?
感谢, 迪安
答案 0 :(得分:3)
启动客户端会有很大帮助; - )
client.start()
完成后,您可能还想关闭它。