KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I am using a JUnit test with JERSEY Client + HTTPS to test a secure web service running on Jetty . One of my calls to wr.get( ClientResponse.class) hangs for 10 seconds after every block of 9-10 requests . The equivalent Apache client code runs in a few milliseconds. If I switch Jetty to HTTP mode the problem disappears. I am using Jersey bundle & client 1.14 and Jetty 6.1.26 The apache client works @Test public void testApacheClient() throws Exception { HttpClient client = new HttpClient(); ProtocolSocketFactory socketFactory = new EasySSLProtocolSocketFactory(); Protocol https = new Protocol( "https", socketFactory, 443 ); Protocol.registerProtocol( "https", https ); //Finishes in < 1 second for ( int i = 0; i < 30; i++ ) { GetMethod getMethod = new GetMethod( "https://localhost:8443/home" ); client.executeMethod( getMethod ); String entity = getMethod.getResponseBodyAsString(); getMethod.releaseConnection(); } } The Jersey client hangs @Test public void testJerseyClient() throws Exception HostnameVerifier hv = getHostnameVerifier(); ClientConfig config = new DefaultClientConfig(); SSLContext ctx = getSslContext(); config.getProperties().put( HTTPSProperties.PROPERTY_HTTPS_PROPERTIES, new HTTPSProperties( hv, ctx ) ); Client jerseyClient = Client.create( config ); //Finishes in < 1 second for ( int i = 0; i < 30; i++ ) { WebResource wr = jerseyClient.resource( "https://www.google.com" ); ClientResponse cr = wr.get( ClientResponse.class ); String entity = cr.getEntity( String.class ); cr.close(); } /* Pauses for 10 seconds after the 10th request, and subsequently after every 9th request. Debugging shows waiting at line 'ClientResponse cr = ...' */ for ( int i =
Tags (comma-separated)
Save Edits
Cancel