में पुन: उपयोग JAX आरएस ग्राहक,(resteasy के साथ) मल्टी-थ्रेडेड वातावरण प्रलेखन के अनुसार
"ग्राहक भारी वजन वस्तुओं है कि क्लाइंट-साइड संचार बुनियादी सुविधाओं का प्रबंधन कर रहे हैं। प्रारंभ करने के साथ ही के निपटान एक क्लाइंट उदाहरण एक नहीं बल्कि महंगा ऑपरेशन हो सकता है। इसलिए यह आवेदन में ग्राहक उदाहरणों में से केवल एक छोटी संख्या का निर्माण करने की सलाह दी है। "
ठीक है, मैं ग्राहकों का ही है और वेब कैश करने के लिए कोशिश कर रहा हूँ लक्ष्य उदाहरणों एक स्थिर चर में, someMethod() मल्टी-थ्रेडेड वातावरण में शुरू हो जाती है:
private static Client client = ClientBuilder.newClient();
private static WebTarget webTarget = client.target("someBaseUrl");
...
public static String someMethod(String arg1, String arg2)
{
WebTarget target = entrTarget.queryParam("arg1", arg1).queryParam("arg2", arg2);
Response response = target.request().get();
final String result = response.readEntity(String.class);
response.close();
return result;
}
लेकिन कभी कभी (हमेशा) मैं एक अपवाद मिल रही है:
BasicClientConnManager का अमान्य उपयोग: कनेक्शन अभी भी आवंटित। किसी अन्य को आवंटित करने से पहले कनेक्शन को रिलीज़ करना सुनिश्चित करें।
क्लाइंट/वेबटाइटल का पुन: उपयोग/कैश किया जा सकता है? क्या यह जेएक्स आरएस क्लाइंट एपीआई के साथ संभव है? या मुझे कुछ ढांचे-विशिष्ट विशेषताओं (रेस्टसी/जर्सी) का उपयोग करना होगा क्या आप कुछ उदाहरण या दस्तावेज़ीकरण प्रदान कर सकते हैं?
की संभावित डुप्लिकेट [JAX-आरएस क्लाइंट थ्रेड सुरक्षित है] (http://stackoverflow.com/questions/24700798/is-jax-rs-client-thread-safe) – tddmonkey