In Java EE7, il Client API JAX-RS fornisce un'API di alto livello per l'accesso a tutte le risorse di riposo. Secondo la documentazione, "I client sono oggetti pesanti che gestiscono l'infrastruttura di comunicazione lato client. L'inizializzazione e l'eliminazione di un'istanza Client possono essere un'operazione piuttosto costosa. Si consiglia pertanto di costruire solo un numero limitato di client istanze nell'applicazione. "è thread client JAX-RS sicuro
Per evitare di creare client frequentemente, ho intenzione di memorizzare nella cache l'istanza del client e riutilizzarla. Il thread delle istanze client è sicuro poiché può essere utilizzato da thread simultanei? C'è qualche problema di prestazioni se creo solo un'istanza del client e la riusiamo per tutte le richieste?
Dove lo dice il JavaDoc? https://docs.oracle.com/javaee/7/api/javax/ws/rs/client/Client.html Sono d'accordo con l'altra risposta (http://stackoverflow.com/a/27427911/57217) che questo sembra essere un argomento specifico per l'implementazione. Sicuramente non si dovrebbe creare un nuovo Client per ogni richiesta, ma non è sicuro utilizzarlo da più thread. – Kutzi
Ho detto "principalmente" - "Si consiglia quindi di costruire solo un piccolo numero di istanze del Cliente". Considerando che hai ragione nel fatto che sarà specifico per l'implementazione, posso garantire che l'utilizzo del client Jersey sia sicuro da utilizzare da più thread. Ho un sistema di backend di volume molto alto che dice così! – tddmonkey
Dipende dall'implementazione. Ad esempio: http://cxf.apache.org/docs/jax-rs-client-api.html#JAX-RSClientAPI-ThreadSafety –