Skip to content
Snippets Groups Projects
Commit a6c3f3b1 authored by Sören Henning's avatar Sören Henning
Browse files

Set connection timeout and fix async bug

parent cace003b
No related branches found
No related tags found
No related merge requests found
Pipeline #6891 passed
...@@ -7,6 +7,7 @@ import java.net.http.HttpRequest; ...@@ -7,6 +7,7 @@ import java.net.http.HttpRequest;
import java.net.http.HttpResponse; import java.net.http.HttpResponse;
import java.net.http.HttpResponse.BodyHandler; import java.net.http.HttpResponse.BodyHandler;
import java.net.http.HttpResponse.BodyHandlers; import java.net.http.HttpResponse.BodyHandlers;
import java.time.Duration;
import java.util.List; import java.util.List;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutionException;
...@@ -23,6 +24,8 @@ public class HttpRecordSender<T extends SpecificRecord> implements RecordSender< ...@@ -23,6 +24,8 @@ public class HttpRecordSender<T extends SpecificRecord> implements RecordSender<
private static final int HTTP_OK = 200; private static final int HTTP_OK = 200;
private static final Duration CONNECTION_TIMEOUT = Duration.ofSeconds(1);
private static final Logger LOGGER = LoggerFactory.getLogger(HttpRecordSender.class); private static final Logger LOGGER = LoggerFactory.getLogger(HttpRecordSender.class);
private final Gson gson = new Gson(); private final Gson gson = new Gson();
...@@ -63,6 +66,7 @@ public class HttpRecordSender<T extends SpecificRecord> implements RecordSender< ...@@ -63,6 +66,7 @@ public class HttpRecordSender<T extends SpecificRecord> implements RecordSender<
final String json = this.gson.toJson(message); final String json = this.gson.toJson(message);
final HttpRequest request = HttpRequest.newBuilder() final HttpRequest request = HttpRequest.newBuilder()
.uri(this.uri) .uri(this.uri)
.timeout(CONNECTION_TIMEOUT)
.POST(HttpRequest.BodyPublishers.ofString(json)) .POST(HttpRequest.BodyPublishers.ofString(json))
.build(); .build();
final BodyHandler<Void> bodyHandler = BodyHandlers.discarding(); final BodyHandler<Void> bodyHandler = BodyHandlers.discarding();
...@@ -81,7 +85,7 @@ public class HttpRecordSender<T extends SpecificRecord> implements RecordSender< ...@@ -81,7 +85,7 @@ public class HttpRecordSender<T extends SpecificRecord> implements RecordSender<
response.statusCode()); response.statusCode());
} }
}); });
if (this.async) { if (this.isSync()) {
try { try {
result.get(); result.get();
} catch (InterruptedException | ExecutionException e) { } catch (InterruptedException | ExecutionException e) {
...@@ -90,4 +94,8 @@ public class HttpRecordSender<T extends SpecificRecord> implements RecordSender< ...@@ -90,4 +94,8 @@ public class HttpRecordSender<T extends SpecificRecord> implements RecordSender<
} }
} }
private boolean isSync() {
return !this.async;
}
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment