`
hdxiong
  • 浏览: 371809 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

HttpClient在使用中有两个超时时间 区别

    博客分类:
  • Java
阅读更多
HttpClient在使用中有两个超时时间。

一、连接超时:connectionTimeout
   1.指的是连接一个url的连接等待时间。
   2.设置方法为:
HttpClient client = new HttpClient();
HttpMethod method = new GetMethod("http://test.com");   
client.getHttpConnectionManager().getParams().setConnectionTimeout(3000);  

   3.测试的时候,将url改为一个不存在的url:“http://test.com”
   4:超时时间3000ms过后,系统报出异常。
     org.apache.commons.httpclient.ConnectTimeoutException: The host did not accept the connection within timeout of 3000 ms

二、读取数据超时:soTimeout
   1.指的是连接上一个url,获取response的返回等待时间
   2.设置方法伟:
HttpClient client = new HttpClient();
HttpMethod method = new GetMethod("http://localhost:8080/firstTest.htm?method=test");
client.getHttpConnectionManager().getParams().setSoTimeout(2000);

   3.测试的时候的连接url为我本地开启的一个url,http://localhost:8080/firstTest.htm?method=test,在我这个测试url里,当访问到这个链接时,线程sleep一段时间,来模拟返回response超时。
@RequestMapping(params = "method=test")
public String testMethod(ModelMap model) {    
try {    
    Thread.sleep(3000);    
} catch (InterruptedException e) {    
    // TODO Auto-generated catch block    
    e.printStackTrace();    
}    
      System.out.println("call testMethod method.");    
      model.addAttribute("name", "test method");    
return "test";    
  }

   4:将读取response返回超时时间设的时间比那个sleep时间短之后,运行程序给出异常:java.net.SocketTimeoutException: Read timed out

提醒:以后再写httpClient这两个超时时间一定要加上,不加就很可能悲剧的了。





分享到:
评论

相关推荐

    HttpClient以及获取页面内容应用

    HttpClient已经应用在很多的项目中,比如Apache Jakarta上很著名的另外两个开源项目Cactus和HTMLUnit都使用了HttpClient。 下载地址:  http://hc.apache.org/downloads.cgi 1.2特性 1. 基于标准、纯净的java语言。...

    httpclient开发包

    这个包一般还需要配合相应的common的包来完成,所以这里将相关联包全部压缩在一起方便使用,不过已经存在类似的包的时候,可以不使用其余两个包,只需要使用httpclient的包即可,避免版本冲突。

    .NET Core 迁移躺坑记续集之Win下莫名其妙的超时

    其中这个问题比较诡异在于超时的主要集中在两台机器上(俗称两兄弟了) 由于不明真相到底是什么导致的,而且接下来又要到五一了,为了欢度五一这么一个伟大艰巨的任务,为了证明迁移core的伟大光荣正确,怎么也要...

    java8stream源码-component:Java的各种组件使用的demo,如fastjson、httpclient、jsoup、zoo

    BubbleSort(重复比较相邻的两个值) 执行时间超时 归并排序:MergeSort (是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,...

    精通ANDROID 3(中文版)1/2

    14.5.6 从两个位置控制唤醒锁  14.5.7 长期运行的服务的实现  14.5.8 测试长期运行的服务  14.6 代码编译说明  14.6.1 从ZIP文件创建项目  14.6.2 通过代码清单创建项目  14.7 参考资料  14.8 小结 ...

    精通Android 3 (中文版)2/2

    14.5.6 从两个位置控制唤醒锁  14.5.7 长期运行的服务的实现  14.5.8 测试长期运行的服务  14.6 代码编译说明  14.6.1 从ZIP文件创建项目  14.6.2 通过代码清单创建项目  14.7 参考资料  14.8 小结 ...

    JAVA上百实例源码以及开源项目

     Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。  设定字符串为“张三,你好,我是李四”  产生张三的密钥对(keyPairZhang)  张三生成公钥(publicKeyZhang...

    JAVA上百实例源码以及开源项目源代码

     Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。  设定字符串为“张三,你好,我是李四”  产生张三的密钥对(keyPairZhang)  张三生成公钥(publicKeyZhang...

    urlping:用于 Ping URL 的 Java 实用程序

    该实用程序使用 Apache Jakarta Commons HttpClient 组件。 下面介绍URLPing的要求和用法。 要求 Java SE - URLPing 旨在在 Java SE 5.0 及更高版本上运行。 库依赖 Commons HttpClient ( ) 公共日志记录( ) ...

    java开源包8

    开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...

    Android异常 java.lang.IllegalStateException解决方法

    1.单线程一次执行一个请求可以正常执行,如果使用多线程,同时执行多个请求时就会出现连接超时. 2.HttpConnection没有连接池的概念,多少次请求就会建立多少个IO,在访问量巨大的情况下服务器的IO可能会耗尽。 3....

    java开源包1

    开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...

    java开源包11

    开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...

    java开源包2

    开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...

    java开源包3

    开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...

    java开源包6

    开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...

    java开源包5

    开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...

    java开源包10

    开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...

    java开源包4

    开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...

Global site tag (gtag.js) - Google Analytics