我使用JAXRS使用http请求在两个应用程序之间进行通信。 在实施过程中,我与我的大学争论,他说我不能使用相同的资源(org.apache.wink.client.Resource)来处理不同的请求,因为它可能导致冲突。
我认为这样的事情不会发生,并且通过对所有请求使用相同的资源,我正在提高性能。
Bellow是一段代码,请帮助我们解决纠纷
public class jaxrsDeliveryService{
private Resource queryResource;
public void init(){
servletPath = url + REMOVE_COUNT_SUFFIX_URL;
queryResource = restClient.resource(servletPath);
queryResource.contentType(APPLICATION_XML).accept(APPLICATION_XML);`
}
public QueryResponse getqueryResult(QueryInfoRequest qir){
ClientResponse response = resource.put(qir);
return response.getEntity(QueryResponse.class);
}
}
答案 0 :(得分:0)
Resource
是一个没有提及线程安全性的接口。因此,我们应该假设其实施可能不安全。如果你想让你的类线程安全,你1)不应该使用相同的Resource
,或2)将其用于synchronized
块。
如果您不担心线程安全,请重用resource
。你会获得一点表现。