2012-12-17 183 views
0

我正在使用JAXRS在兩個使用http請求的應用程序之間進行通信。 在執行過程中,我和我的大學發生了爭執,他說我不能使用相同的資源(org.apache.wink.client.Resource)來處理不同的請求,因爲它可能會導致衝突。是JAXRS資源可以用於不同的請求嗎?

我認爲這樣的事情不會發生,並且通過對所有請求使用相同的資源,我正在提高性能。

貝婁是一個代碼段,請幫助解決我們的爭端

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

你們使用的是什麼jax-rs實現? –

+0

他們正在使用[Apache Wink](http://incubator.apache.org/wink/),我想是 – yegor256

+0

這是客戶端還是服務器端? –

回答

0

Resource是隻字未提線程安全的接口。因此,我們應該假設它的實施可能是不安全的。如果你想讓你的課程線程安全,你1)不應該使用相同的Resource,或2)將其用於​​區塊。

如果您不擔心線程安全性,請重複使用resource。你會獲得一點成績。