我有一个非常简单的客户
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分块。
有没有办法让它工作?还是我应该切换库?
谢谢,院长