我正在开发在App Engine上运行的应用程序。我的一个任务调用Web服务。为此,我使用JAX-RS。但是,其中一个呼叫达到app引擎设置的超时时间(5个secondes)。我想将此超时增加到10秒,但我无法修改它。实际上,JAX-RS不允许捕获创建的HttpConnection对象。
我的问题是:是否可以全局配置URL提取的时间?
由于
答案 0 :(得分:3)
不确定您使用的是哪个JAX-RS堆栈,但对于Jersey,您可以执行以下操作:
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客户端相对较慢,因此您可能希望将此客户端设置为实例中的静态变量。 (这是一个线程安全的对象,所以没有问题)这仍然可以为你的实例的旋转增加2-5秒。