2

Java で Web サイトへの多くの接続を開く方法を探しています。

私の問題は、多くの場合、サーバーの応答時間が非常に遅いことです。したがって、多くの接続を開くことを処理でき、接続/応答の準備ができたときにハンドラーを使用する Java ライブラリを探すことをお勧めします。

のようなものはありますか (これは疑似コードです!!)

getWebsiteContent(URL url) { //does not wait for the response
new AsynchronousConnection(url) {

    requestServedHandler(ConnectionObject) {
        InputStream is = ConnectionObject.getInputStream();

        //here I will process the content of the stream only when it is available
    }
} 
}

生の HTML を提供するハンドラーは気にしません。

4

1 に答える 1

1

そのような特殊なライブラリについては知りませんが、独自のマルチスレッド ソリューションを作成できます。CallableHTML を返すとしてレトリバー タスクを記述し、適切な URL を使用してこれらの callable を に送信しますExecutorService。このパターンのコード例はネット上にたくさんありますが、質問があれば書きます。
もう少しヒント: このセットアップは、非常に一般的な生産者と消費者のパターンに似ています。タスクは、サイトのコンテンツを に入れBlockingQueue、プロセッサ スレッドが定期的にポーリングして、準備ができているデータを探すようにすることができます。より活気が必要な場合は、タイムアウトを使用してポーリングするか、タイムアウトを使用しないでポーリングしますが、データが利用可能になるまでブロックされます。

于 2012-09-14T07:16:06.653 に答える