2012-09-26 29 views
2

我正在開發在App Engine上運行的應用程序。我的一個任務調用Web服務。爲此,我使用JAX-RS。然而,其中一個電話會通過應用引擎(5次)設置超時時間。我想將此超時時間增加到10秒,但我無法對其進行修改。事實上,JAX-RS不允許捕獲創建的HttpConnection對象。如何在全局設置URL抓取超時?

我的問題是:是否有可能在全球範圍配置URL超時時間?

感謝

回答

3

不知道這JAX-RS疊加使用,但澤西你可以這樣做:


import com.sun.jersey.api.client.Client; 
import com.sun.jersey.api.client.config.ClientConfig; 
import com.sun.jersey.api.client.config.DefaultClientConfig; 

ClientConfig cc = new DefaultClientConfig(); 
cc.getProperties().put(ClientConfig.PROPERTY_THREADPOOL_SIZE,10); 
Client client = Client.create(cc); 
client.setConnectTimeout(1000); 
client.setReadTimeout(15000); 

這要注意的是在GAE上創建Jersey客戶端相對較慢,因此您可能需要m在這個實例中給這個客戶端一個靜態變量。 (這是一個線程安全的對象,所以沒有問題)仍然可以添加2-5秒來啓動實例。