Skip to content
Snippets Groups Projects
Commit cf21d29b authored by Amos Shi's avatar Amos Shi
Browse files

8304962: sun/net/www/http/KeepAliveCache/B5045306.java:...

8304962: sun/net/www/http/KeepAliveCache/B5045306.java: java.lang.RuntimeException: Failed: Initial Keep Alive Connection is not being reused

Backport-of: cddaf686e16424e9543be50a48b1c02337e79cf1
parent f07c2664
No related branches found
No related tags found
No related merge requests found
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.io.PrintWriter; import java.io.OutputStream;
import java.lang.management.ManagementFactory; import java.lang.management.ManagementFactory;
import java.lang.management.ThreadInfo; import java.lang.management.ThreadInfo;
import java.lang.management.ThreadMXBean; import java.lang.management.ThreadMXBean;
...@@ -40,7 +40,6 @@ import java.net.InetAddress; ...@@ -40,7 +40,6 @@ import java.net.InetAddress;
import java.net.InetSocketAddress; import java.net.InetSocketAddress;
import java.net.Proxy; import java.net.Proxy;
import java.net.URL; import java.net.URL;
import java.nio.charset.Charset;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.concurrent.Executors; import java.util.concurrent.Executors;
...@@ -176,9 +175,9 @@ class SimpleHttpTransactionHandler implements HttpHandler ...@@ -176,9 +175,9 @@ class SimpleHttpTransactionHandler implements HttpHandler
byte[] responseBody = new byte[RESPONSE_DATA_LENGTH]; byte[] responseBody = new byte[RESPONSE_DATA_LENGTH];
for (int i=0; i<responseBody.length; i++) for (int i=0; i<responseBody.length; i++)
responseBody[i] = 0x41; responseBody[i] = 0x41;
trans.sendResponseHeaders(200, 0); trans.sendResponseHeaders(200, responseBody.length);
try(PrintWriter pw = new PrintWriter(trans.getResponseBody(), false, Charset.forName("UTF-8"))) { try (OutputStream os = trans.getResponseBody()) {
pw.print(responseBody); os.write(responseBody);
} }
} else if (path.equals("/secondCall")) { } else if (path.equals("/secondCall")) {
int port2 = trans.getRemoteAddress().getPort(); int port2 = trans.getRemoteAddress().getPort();
...@@ -201,10 +200,10 @@ class SimpleHttpTransactionHandler implements HttpHandler ...@@ -201,10 +200,10 @@ class SimpleHttpTransactionHandler implements HttpHandler
responseBody[i] = 0x41; responseBody[i] = 0x41;
// override the Content-length header to be greater than the actual response body // override the Content-length header to be greater than the actual response body
trans.sendResponseHeaders(200, responseBody.length+1); trans.sendResponseHeaders(200, responseBody.length+1);
try(PrintWriter pw = new PrintWriter(trans.getResponseBody(), false, Charset.forName("UTF-8"))) { OutputStream os = trans.getResponseBody();
pw.print(responseBody); os.write(responseBody);
}
// now close the socket // now close the socket
// closing the stream here would throw; close the exchange instead
trans.close(); trans.close();
} }
} catch (Exception e) { } catch (Exception e) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment