热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

HttpClient发现小问题

Android程序在长时间休眠后HttpClient不工作用bugreport看线程信息都是在awaitConnectTask#3prio5tid16WAIT
Android程序在长时间休眠后HttpClient不工作 用bugreport看线程信息都是在await

ConnectTask #3" prio=5 tid=16 WAIT

  | group="main" sCount=1 dsCount=0 obj=0x4055a0a8 self=0x335db0
  | sysTid=10869 nice=10 sched=0/0 cgrp=default handle=3366632
  | schedstat=( 97869859 8969970715 475 )
  at java.lang.Object.wait(Native Method)
  - waiting on <0x4055a220> (a java.lang.VMThread)
  at java.lang.Thread.parkFor(Thread.java:1443)
  at java.lang.LangAccessImpl.parkFor(LangAccessImpl.java:48)
  at sun.misc.Unsafe.park(Unsafe.java:337)
  at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
  at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2016)
  at org.apache.http.impl.conn.tsccm.WaitingThread.await(WaitingThread.java:159)
  at org.apache.http.impl.conn.tsccm.ConnPoolByRoute.getEntryBlocking(ConnPoolByRoute.java:339)
  at org.apache.http.impl.conn.tsccm.ConnPoolByRoute$1.getPoolEntry(ConnPoolByRoute.java:238)
  at org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager$1.getConnection(ThreadSafeClientConnManager.java:175)
  at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:325)
  at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
  at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
  at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)
  at cn.com.fetion.connect.http.HttpHandler.executeHttpRequest(HttpHandler.java:157)
  at cn.com.fetion.connect.http.AuthHttpHandler.doHttpGet(AuthHttpHandler.java:171)
  at cn.com.fetion.connect.common.FetionConnectAPI.getCurrentStatusMessage(FetionConnectAPI.java:973)
  at cn.com.fetion.connect.service.StatusMessageService$1.run(StatusMessageService.java:37)
  at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:444)
  at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306)
  at java.util.concurrent.FutureTask.run(FutureTask.java:138)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581)
  at java.lang.Thread.run(Thread.java:1027)

 

 

找到原因是再设置连接的时候的问题,在执行的时候Timeout是通过HttpRequest的HttpParams提供的。

程序在 

client = new DefaultHttpClient(ccm, httpParams);
client.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT,
TIMEOUT * 4000);
client.getParams().setParameter(

CoreConnectionPNames.CONNECTION_TIMEOUT, TIMEOUT * 1000); 

这样设置不起作用~!不知道是不是Android休眠照成的参数丢失。

 SO 在Request的时候自己加。


推荐阅读
  • 本文详细介绍了 Apache Jena 库中的 Txn.executeWrite 方法,通过多个实际代码示例展示了其在不同场景下的应用,帮助开发者更好地理解和使用该方法。 ... [详细]
  • Explore a common issue encountered when implementing an OAuth 1.0a API, specifically the inability to encode null objects and how to resolve it. ... [详细]
  • Scala 实现 UTF-8 编码属性文件读取与克隆
    本文介绍如何使用 Scala 以 UTF-8 编码方式读取属性文件,并实现属性文件的克隆功能。通过这种方式,可以确保配置文件在多线程环境下的一致性和高效性。 ... [详细]
  • 本文详细介绍了Java中org.neo4j.helpers.collection.Iterators.single()方法的功能、使用场景及代码示例,帮助开发者更好地理解和应用该方法。 ... [详细]
  • 本文详细介绍了 GWT 中 PopupPanel 类的 onKeyDownPreview 方法,提供了多个代码示例及应用场景,帮助开发者更好地理解和使用该方法。 ... [详细]
  • 本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ... [详细]
  • 主要用了2个类来实现的,话不多说,直接看运行结果,然后在奉上源代码1.Index.javaimportjava.awt.Color;im ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 使用 Azure Service Principal 和 Microsoft Graph API 获取 AAD 用户列表
    本文介绍了一段通用代码示例,该代码不仅能够操作 Azure Active Directory (AAD),还可以通过 Azure Service Principal 的授权访问和管理 Azure 订阅资源。Azure 的架构可以分为两个层级:AAD 和 Subscription。 ... [详细]
  • 本文深入探讨了 Java 中的 Serializable 接口,解释了其实现机制、用途及注意事项,帮助开发者更好地理解和使用序列化功能。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • MQTT技术周报:硬件连接与协议解析
    本周开发笔记重点介绍了在新项目中使用MQTT协议进行硬件连接的技术细节,涵盖其特性、原理及实现步骤。 ... [详细]
  • UNP 第9章:主机名与地址转换
    本章探讨了用于在主机名和数值地址之间进行转换的函数,如gethostbyname和gethostbyaddr。此外,还介绍了getservbyname和getservbyport函数,用于在服务器名和端口号之间进行转换。 ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • andr ... [详细]
author-avatar
钻探paz_106
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有