Restlet客户端内部连接器错误(1002)

时间:2015-03-10 20:10:01

标签: java java-ee timeout restlet

我使用的是基于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);

我应该如何配置我的客户端资源以避免超时?

1 个答案:

答案 0 :(得分:0)

可以在客户端连接器级别配置Restlet客户端的连接超时。如果您的呼叫在一个组件内,您可以从它获取客户端连接器(类Client),否则您需要实例化它。配置超时可以通过其参数(方法getContext,然后是getParameters)完成。

参数取决于底层连接器(HTTP客户端,...)。

以下链接可帮助您解决问题:

希望它可以帮到你, 亨利