Search code examples
javajersey

How to set the connection and read timeout with Jersey 2.x?


In jersey 1 we had a function setConnectTimeout in the class com.sun.jersey.api.client.Client.

In jersey 2 the javax.ws.rs.client.Client class is used where this function is missing.

How to set connection timeout and read timeout in jersey 2.x?


Solution

  • The code below works for me in Jersey 2.3.1 (inspiration found here: https://stackoverflow.com/a/19541931/1617124)

    public static void main(String[] args) {
        Client client = ClientBuilder.newClient();
    
        client.property(ClientProperties.CONNECT_TIMEOUT, 1000);
        client.property(ClientProperties.READ_TIMEOUT,    1000);
    
        WebTarget target = client.target("http://1.2.3.4:8080");
    
        try {
            String responseMsg = target.path("application.wadl").request().get(String.class);
            System.out.println("responseMsg: " + responseMsg);
        } catch (ProcessingException pe) {
            pe.printStackTrace();
        }
    }