2016-04-28 5 views
1

私はApacheによって提供されるDefaultHttpClientを持っています。私は異なる要求を作成して実行します。DefaultHttpClientはサーバーへの接続をキャンセルします

問題は、サーバーへの接続がかなり長時間確立している可能性があり、プログラムのユーザーがこのプロセスをキャンセルしたい場合があるということです。

オンデマンドで接続を確立する有効な方法はありますか?それはhttpClient.executeここでボトルネックになるようです(リクエスト)、後に実行されるため

(私はrequest.abort()を使用することはできません。私は何を持っているので、私はsetConnectionTimeoutを使用しないようにするために手立てもありません

私はすでに別のスレッドでリクエストの実行をラッピングしようとしていますが、ユーザーのキャンセルイベントでそれを中断していますが、より良い解決策が見つかると思います。

また、私はHttpAsyncClientを使用すると思います。

答えて

0

私が理解する限り、要求を他のスレッドにラップせずにキャンセルする方法はありません。 私は代わりにFutureオブジェクトを提供するHttpAsyncClientを使用しました。これはcancelメソッドを持ちます。

関連する問題