我使用的是基于restlet 2.1客户端服务器的架构,我的客户端在发送请求后的1分钟内超时。我得到以下异常: 内部连接器错误(1002) - 调用线程在等待解除阻止响应时超时。 at org.restlet.resource.ClientResource $ 1.invoke(ClientResource.java:1663) 在com.sun.proxy。$ Proxy17.getTaskList(未知来源)....
我的代码如下:
import org.restlet.resource.ClientResource;
ClientResource cr = new ClientResource(uri);
MyResource resource= cr.wrap(MyResource .class);
updateStatus = resource.updateData(Parameter);
我也试过这段代码:
Context context = new Context();
context.getParameters().add("socketTimeout", new String("180000"));
context.getParameters().add("socketConnectTimeoutMs", new String("180000"));
context.getParameters().add("idleTimeout", new String("180000"));
ClientResource cr = new ClientResource(context, url);
TasksResource resource = cr.wrap(TasksResource.class);
我应该如何配置我的客户端资源以避免超时?
答案 0 :(得分:0)
可以在客户端连接器级别配置Restlet客户端的连接超时。如果您的呼叫在一个组件内,您可以从它获取客户端连接器(类Client),否则您需要实例化它。配置超时可以通过其参数(方法getContext,然后是getParameters)完成。
参数取决于底层连接器(HTTP客户端,...)。
以下链接可帮助您解决问题:
希望它可以帮到你, 亨利