restlet2.0学习——请求超时设置

7 篇文章 0 订阅
一般,我们在请求一个rest service的时候,总是希望可以设置一些超时的参数,这样便于控制,如果service一直没有响应,可以有所反馈。

在http client 的请求中有两种可以设置的超时
connect连接超时和response反馈超时。

在connect连接超时,restlet已经提供了API去设置参数。而response反馈超时,restlet2.0还没有提供响应的API,官方也说以后应该会提供,但是还没有列入相应的计划中。

由于我们知道restlet底层使用的是httpclient进行http响应。而httpclient是由相应的response反馈超时。所以在这里把这些超时设置都先记录下来。

需要org.restlet.ext.httpclient支持
下面所有的代码都是需要
Client client = new Client(new Context(), Protocol.HTTP);
去创建一个客户端的连接端。而时间单位都是ms。

connect连接超时
当我们的client去访问server端,但是在寻找server端的时候长时间的找不到,(一般情况为server端不可达,server端被关闭的情况)这个时候,连接超时就可以控制寻找server端的时间,如果超出了限定的时间,那么就认为该server端的rest service 不可达。
client.setConnectTimeout(3000);

response反馈超时
当我们访问某个server端的时候,找到了该server端,并和它建立了连接,运行server端调用的程序,但是server端的执行程序可能因为死机或者其他原因,迟迟没有反馈信息给client端。这个时候我们就可以使用response反馈超时来限定时间,当超过设定的时间,我们就认为该和该server端的交流有问题,或者server端死机。
client.getContext().getParameters().add("socketTimeout",String.valueOf(6000));
直接添加socketTimeout变量来限定。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值