In Java EE7 bietet die JAX-RS-Client-API eine High-Level-API für den Zugriff auf alle REST-Ressourcen. Gemäß der Dokumentation, "Clients sind schwergewichtige Objekte, die die clientseitige Kommunikationsinfrastruktur verwalten. Die Initialisierung sowie die Entsorgung einer Client-Instanz kann eine ziemlich teure Operation sein. Es wird daher empfohlen, nur eine kleine Anzahl von Clients zu erstellen Instanzen in der Anwendung. "Ist JAX-RS Client Thread sicher
Um zu vermeiden, Client häufig zu erstellen, werde ich die Client-Instanz zwischenspeichern und wiederverwenden. Ist der Client-Instanz-Thread sicher, da er von gleichzeitigen Threads verwendet werden kann? Gibt es ein Leistungsproblem, wenn ich nur eine Instanz des Clients erstellen und für alle Anforderungen wiederverwenden?
Wo sagt das JavaDoc? https://docs.oracle.com/javaee/7/api/javax/ws/rs/client/Client.html Ich stimme mit der anderen Antwort (http://stackoverflow.com/a/27427911/57217) überein Dies scheint ein umsetzungsspezifisches Thema zu sein. Sicherlich sollten Sie nicht für jede Anforderung einen neuen Client erstellen, aber es ist auch nicht sicher, ihn aus mehreren Threads zu verwenden. – Kutzi
Ich sagte "meistens" - "Es wird daher empfohlen, nur eine kleine Anzahl von Client-Instanzen zu erstellen". Während Sie recht haben, dass es umsetzungsspezifisch sein wird, kann ich garantieren, dass die Verwendung des Jersey-Clients IS aus mehreren Threads sicher ist. Ich habe ein Back-End-System mit sehr hohem Volumen, das das sagt! – tddmonkey
Es hängt von der Implementierung ab. Zum Beispiel: http://cxf.apache.org/docs/jax-rs-client-api.html#JAX-RSClientAPI-ThreadSafety –