teilen sich ein wenig Kontext zu meinem Problem geben ...Wie Sie sich richtig JAX-RS 2.0-Client
ich eine Java EE Web-Anwendung haben (als UI/Client), die über Dienste für Daten-/Geschäftslogik zugreift eine REST-Schnittstelle, die die JAX-RS 2.0-Client-API (Resteasy-Implementierung) verwendet.
Zur Zeit injiziere ich eine neue JAXRS Client Instanz pro Anfrage mit einer RequestScoped CDI Bean, wobei die Client App mehrere Backend Ressourcen pro Anfrage aufrufen darf und ich den gleichen JAXRS Client für die gesamte Anfrage wiederverwende (obwohl ich gelesen habe irgendwo ist dies möglicherweise nicht korrekt, da ich möglicherweise den URI für jeden Aufruf ändere)
Die Dokumentation für JAXRS-Client scheint darauf hinzuweisen, dass der Client eine potenziell teure Operation ist und die App die Anzahl der von ihr erstellten Verbindungen begrenzen sollte. Es scheint sich auch zu widersprechen und schlägt vor, dass der Client geschlossen wird, sobald alle Anforderungen an ein bestimmtes WebTarget abgeschlossen sind. Die Client-Anwendung könnte möglicherweise Tausende von Benutzern gleichzeitig unterstützen, so dass das Erstellen und Zerstören von Tausenden von "teuren Clients" nicht der richtige Ansatz zu sein scheint. Daher denke ich, dass ein geteilter Client-Pool besser geeignet ist, aber es scheint nicht zu sein irgendwelche Informationen darüber, wie dies erreicht werden sollte.
Alle Beispiele scheinen zu zeigen, einen neuen Client für die Anfrage zu erstellen und a) nach oder b) schließen, aber nicht wirklich erklären, was bei einer zweiten Anfrage passiert.
Können Sie uns helfen, Ihnen einige Antworten auf die Frage zu geben, wie Sie dies lösen könnten, oder Informationen darüber, welche Vorgehensweise für diesen Ansatz am besten geeignet ist?
Danke.