ListeningExecutorService executor = MoreExecutors.newDirectExecutorService(); ListenableFuture<Response> future = executor.submit(() -> sendRequest(url)); Futures.addCallback(future, new FutureCallback<Response>() { public void onSuccess(Response response) { } public void onFailure(Throwable throwable) { } }); HttpRequest request = HttpRequest.newBuilder() .uri(new URI(url)) .header("Content-Type", "application/json") .POST(HttpRequest.BodyPublishers.ofString(requestBody)) .build(); HttpResponse<String> response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString()); int statusCode = response.statusCode(); String responseBody = response.body(); WebSocket webSocket = WebSocket.newBuilder() .connectTimeout(Duration.ofSeconds(10)) .buildAsync(new URI(webSocketUrl), new WebSocket.Listener() { @Override public void onOpen(WebSocket webSocket) { } @Override public CompletionStage<?> onText(WebSocket webSocket, CharSequence data, boolean last) { return CompletableFuture.completedFuture(null); } @Override public CompletionStage<?> onClose(WebSocket webSocket, int statusCode, String reason) { return CompletableFuture.completedFuture(null); } }); <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>30.1-jre</version> </dependency> <dependency> <groupId>com.google.guava</groupId> <artifactId>guava-io</artifactId> <version>1.0</version> </dependency>


上一篇:
下一篇:
切换中文