1. Apache HttpAsyncClient:
CloseableHttpAsyncClient client = HttpAsyncClients.createDefault();
client.start();
HttpGet request = new HttpGet("http://example.com");
Future<HttpResponse> future = client.execute(request, null);
HttpResponse response = future.get();
System.out.println("Response status code: " + response.getStatusLine().getStatusCode());
2. Jetty AsyncHttpClient:
AsyncHttpClient client = new AsyncHttpClient();
client.prepareGet("http://example.com").execute(new AsyncCompletionHandler<Response>() {
@Override
public Response onCompleted(Response response) throws Exception {
System.out.println("Response status code: " + response.getStatusCode());
return response;
}
});
Future<Response> future = client.prepareGet("http://example.com").execute();
Response response = future.get();
System.out.println("Response status code: " + response.getStatusCode());
3. Spring WebClient:
WebClient client = WebClient.create();
client.get()
.uri("http://example.com")
.retrieve()
.bodyToMono(String.class)
.subscribe(response -> System.out.println("Response: " + response));