2012-04-14 11 views
3

基本的には、受信リクエストを別のホストの同じURLパスにプロキシするサーブレットを作成する必要があります。 Apache Commons Http Client 4.1.3を使って思いついたのは、次のとおりです。HttpClient.execute()でプロキシサーブレットがハングする

これはサーブレットが初めて呼び出されたときにうまく動作します。ただし、初めてサーブレットを実行した場合、サーブレットはクライアント(実行)という行でハングアップします。

「HttpClient execute hangs」のGoogleヒットはたくさんあります。そのほとんどは、ThreadSafeClientConnManagerのインスタンスを使用することをお勧めします。それを試して、悲しいことには助けなかった。

私はこの問題のために数時間の時間を過ごしましたが、まだそれを解決するものは見つかりませんでした。私は真剣に私がここで間違っていることについての指針を感謝します。

+0

org.apache.httpでデバッグログを有効にしましたか?それが私の第一歩です。 – Alex

+0

似たスレッド価値:http://stackoverflow.com/questions/4694419/multiple-post-with-httpclient-4-0-3-hanging-randomly – Paul

答えて

0

私はあなたがこれを難しい方法でやっていることをお勧めします。リダイレクトを行うフィルタと書いてください。

また、ポートで待機して前後にバイトをコピーするTCPサーバーだけでも可能です。 CONNECTコマンドを実装している場合を除いて、プロキシのHTTPプロトコルにはまったく関与する必要はありません。その場合は、理解する必要のあるHTTPだけです。応答は唯一のHTTP応答です知っている。それ以外はすべてバイトです。

関連する問題