Schließen JAX-RS Client/Antwort

Es ist nicht klar, muss ich schließen, JAX-RS Client - /Response-Instanzen oder nicht. Und wenn ich muss, immer oder nicht?

Laut Dokumentation über die Client-Klasse:

Aufruf dieser Methode effektiv für ungültig erklärt, alle Ressourcen-Ziele
produziert von der client-Instanz.

Den WebTarget-Klasse ist kein invalidate()/close () - Methode, aber die Antwort Klasse.
Nach Dokumentation:

Schließen Sie die zugrunde liegende Nachricht entity-input-stream (wenn verfügbar und
open) sowie Veröffentlichungen sonstiger Ressourcen im Zusammenhang mit der
Reaktion (beispielsweise eine gepufferte Nachricht entity data).

... Die close () - Methode
sollte aufgerufen werden, die auf alle Instanzen, die eine un-Person verbraucht
input-stream zu gewährleisten, die Ressourcen in Verbindung mit der Instanz sind
richtig aufgeräumt und verhindern, dass potenzielle memory leaks. Dies ist
typisch für client-side-Szenarien, in denen die Anwendung layer code
Prozesse, die nur der response-Header und ignoriert die Antwort Einheit.

Letzten Absatz ist mir nicht klar. Was bedeutet "un-verbraucht entity-input-stream" bedeuten? Wenn ich eine InputSteam oder eine Zeichenfolge aus der Antwort, sollte ich in der Nähe der Antwort explizit?

Können wir eine Antwort bekommen Ergebnis ohne Zugriff auf Antwort Beispiel:

Client client = ...;
WebTarget webTarget = ...;
Invocation.Builder builder = webTarget.request(MediaType.APPLICATION_JSON_TYPE);
Invocation invocation = builder.buildGet();
InputStream reso = invocation.invoke(InputStream.class);

Arbeite ich mit RESTeasy Umsetzung, und ich erwartete, dass Antwort geschlossen werden innerhalb von resteasy Umsetzung, aber ich konnte Sie nicht finden. Könnte mir jemand sagen warum?
Ich weiß, dass die Antwort-Klasse implementieren, die Verschließbar-Schnittstelle
Aber auch wissen, die Antwort ist, ohne es zu schließen.

Ja finde ich auch, dass die docs auch ernsthaft fehlt in vielen Bereichen. Zum Beispiel, thread-safety, und, ob oder nicht die "Abkürzung" Methoden tatsächlich in der Nähe der Antwort. Zum Beispiel, SyncInvoker.get(Class).

InformationsquelleAutor Alexandr | 2015-10-12

Schreibe einen Kommentar