java如何在Restlet框架中设置ClientResource发送请求的超时
我使用Restlet框架,特别是类ClientResource
,通过它自己的get()
、post()
、put()
和delete()
方法向服务器发送HTTP请求。由于有时服务器处于脱机状态,因此无法访问,因此我希望设置一个比默认值更小的超时。我该怎么做
目前,我以这种方式尝试,但没有成功:
ClientResource cr = new ClientResource(uri);
Context context = new Context();
context.getParameters().add("maxIoIdleTimeMs", "0");
context.getParameters().add("ioMaxIdleTimeMs", "0");
context.getParameters().add("socketTimeout", "1000");
cr.setNext(new Client(context, Protocol.HTTP));
cr.setRetryOnError(false);
...
Representation r = cr.get();
结果与默认情况相同,即在从get()
方法返回连接错误异常之前,超时约60-90秒。我的目的是预测它
# 1 楼答案
要正确设置超时,请执行以下操作:
这段代码将抛出一个超时异常,根据需要,将
socketTimeout
增加到至少1000,以便能够检索测试API JSON响应此外,还使用了以下版本: