JAXRS资源可以用于不同的请求吗?

时间:2012-12-17 08:59:39

标签: jax-rs

我使用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);          
    }
}

1 个答案:

答案 0 :(得分:0)

Resource是一个没有提及线程安全性的接口。因此,我们应该假设其实施可能不安全。如果你想让你的类线程安全,你1)不应该使用相同的Resource,或2)将其用于synchronized块。

如果您不担心线程安全,请重用resource。你会获得一点表现。

相关问题