网页爬虫爬取数据出现 LockTimeoutException lock expired问题的可能解决方式
来源:互联网 发布:淘宝贷款在哪里 编辑:程序博客网 时间:2024/06/12 20:20
安卓客户端向服务器请求数据,服务器接收到请求后开启爬虫线程,后台抓取指定网页的数据,将抓到的数据以javabean的形式暂存在一个list中并返回该list,此时数据库方面获取该list,并插入到数据表中。
一切准备就绪后,运行服务器,安装apk,满心欢心,充满期待的准备看数据蹦出来,
然而,问题来了,console提示错误,logcat提示数据请求失败,打印错误如下:(类似)
com.sleepycat.je.LockTimeoutException: (JE 5.0.73) Lock expired. Locker 988835149 -1_Thread-12_ThreadLocker: waited for lock
waiter:.......
开头就是这样一类的,然后再网上查找解决办法,可是找了大半天都没有,后来根据表面意思,判断应该是多个进程对同一个数据表进行读写操作时发生了错误,联想到单独运行服务器时可以输出从数据库中查询出的数据,并且安卓客户端有用到ViewPager,在加载第一页的时候它会自动进行第二页数据和布局的预加载,那么两个页面都在请求向数据表中插入数据(每个页面请求数据代码相同,且调用的都是数据库提供的接口),就产生了这一问题,带着这样的判断,就进入到ViewPager所在的类中,将数据初始化过程从
public Object instantiateItem(ViewGroup container, int position) 函数中去掉,转移到了接口onPageChangedListener中的onPageSelected(int position) 函数中,这样一来,在进行预加载的时候只会预加载下一页的布局,数据相当于延迟到页面选择时进行,
好,保存,运行,成功。
注意:我采用的是开源项目ViewPagerIndicator,只有标签和滑动的时候进行页面选择,如果是其他形式,比如点击按钮切换页面,就需要将初始化数据放到相应的函数实现中。
以上仅为个人针对自己项目中出现的问题探索解决方法的想法,如有不当之处,欢迎指正。
- 网页爬虫爬取数据出现 LockTimeoutException lock expired问题的可能解决方式
- Scrapy 爬虫框架爬取网页数据
- python爬虫爬取网页表格数据
- python爬虫 爬取淘宝网页数据
- python使用requests爬取网页,遇到中文出现乱码的编码问题及解决
- Python 网络爬虫 006 (编程) 解决下载(或叫:爬取)到的网页乱码问题
- python使用requests爬取网页,遇到中文出现遇到中文出现乱码的编码问题及解决乱码的编码问题及解决
- 编写自动爬取网页的爬虫
- 爬虫中网页爬取的内容出现乱码(gb2312 --> utf-8)
- 数据过长可能出现的问题
- jsoup爬虫爬取网页
- 网页在IE6下可能出现的小问题
- 爬虫爬虫学习: 爬取网页图片
- Python 使用BeautifulSoup方式爬虫爬取数据
- 爬取网页数据 编码转换问题
- (52)多个生产者多个消费者出现的问题,解决方式synchronized方法和Lock方法
- 解决Debug certificate expired的问题
- 解决Debug certificate expired的问题
- Oracle/Hive/Impala SQL比较(3-4)
- Java使用JNDI技术获取DataSource对象
- asyUI tree点击文字展开节点
- 最长递增子序列算法
- tarjan算法 求解强联通分量 POJ_2186_Popular Cows
- 网页爬虫爬取数据出现 LockTimeoutException lock expired问题的可能解决方式
- Oracle/Hive/Impala SQL比较(5)
- 代码重构的实战经验和那些坑
- Servlet 生命周期的过程!
- Light OJ 1266 - Points in Rectangle
- JDK Tools and Utilities
- 【软考】——树和二叉树
- Don't let me think 笔记
- Java 优先队列