<dependencies>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-client</artifactId>
<version>9.4.40.v20210413</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-http</artifactId>
<version>9.4.40.v20210413</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-util</artifactId>
<version>9.4.40.v20210413</version>
</dependency>
</dependencies>
import org.eclipse.jetty.client.HttpClient;
import org.eclipse.jetty.client.api.ContentResponse;
import org.eclipse.jetty.client.api.Request;
import org.eclipse.jetty.client.util.FutureResponseListener;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeoutException;
public class HttpClientExample {
public static void main(String[] args) {
HttpClient httpClient = new HttpClient();
try {
httpClient.start();
Request request1 = httpClient.newRequest("https://example.com/request1");
Request request2 = httpClient.newRequest("https://example.com/request2");
FutureResponseListener listener1 = new FutureResponseListener(request1);
FutureResponseListener listener2 = new FutureResponseListener(request2);
request1.send(listener1);
request2.send(listener2);
ContentResponse response2 = listener2.get(5000);
System.out.println("Response 1: " + response1.getContentAsString());
System.out.println("Response 2: " + response2.getContentAsString());
e.printStackTrace();
} finally {
try {
httpClient.stop();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
jetty.client.idleTimeout=30000
jetty.client.connectTimeout=5000
jetty.client.maxConnectionsPerDestination=100