Ich mache einen REST-Aufruf von Java zu einem externen System. Wenn es Verbindungsunterbrechungen gibt, wie wenn das externe System offline geht, brauche ich einen Listener, um dies zu erkennen und entsprechende Aktionen auszuführen. Bitte lassen Sie mich wissen, ob ich dies in Java erreichen kann. Vorzugsweise in Java 8.HTTP-Unterbrechung in Java erkennen
Derzeit bekomme ich keine Ausnahme, wenn ich in eine solche Situation komme. Ich mit der unten gezeigten Code zur Zeit
Client client = ClientBuilder.newClient();
WebTarget target = client.target(HOSTNAME);
Invocation.Builder requestBuilder;
requestBuilder = target.path(URL).request(MediaType.APPLICATION_JSON)
.header(HEADER_AUTHORIZATION, AUTH_TOKEN);
Response response = null;
if (HTTP_POST.equalsIgnoreCase(method)) {
try{
response = requestBuilder.post(Entity.entity(message, MediaType.APPLICATION_JSON_TYPE));
}catch(Exception ex){
ex.printStackTrace();
}
} else if (HTTP_GET.equalsIgnoreCase(method)) {
response = requestBuilder.get();
}
String executeMessage = null;
if(response != null){
if (response.getStatus() == 200) {
executeMessage = response.readEntity(String.class);
return new JSONObject(executeMessage);
} else {
executeMessage = response.readEntity(String.class);
final JSONObject status = new JSONObject();
status.put(STATUS_CODE, response.getStatus());
status.put(STATUS_INFO, response.getStatusInfo());
status.put("response", executeMessage);
final JSONObject error = new JSONObject();
error.put(ERROR, status);
return error;
}
}
Sie erhalten eine IOException, die Sie fangen müssen, also geben Sie einen speziellen Code ein. –
Weitere Details darüber, welches Framework Sie verwenden, um die HTTP-Anfrage zu erstellen, und ein Code-Snippet, aus dem der aufrufende Code besteht, helfen Ihnen, nützlichere Antworten zu erhalten. –
@Michael Peyper - Ich habe mit dem Code aktualisiert. Steve Smith - Derzeit bekomme ich keine Ausnahme, System wartet auf die Antwort. –