码迷,mamicode.com
首页 > 其他好文 > 详细

GuozhongCrawler系列教程 (5) TransactionRequest详解

时间:2015-06-09 13:56:30      阅读:114      评论:0      收藏:0      [点我收藏+]

标签:guozhongcrawler 爬虫

   为了实现和维护并发抓取的属性信息提供线程安全的事务请求。TransactionRequest是一个抽象类自己不能设置Processor,却需要实现 TransactionCallBack接口。TransactionRequest是个复合的BasicRequest。他可以将多个PageRequest、BinaryRequest甚至TransactionRequest 自己的对象添加到child集合中,在下载过程中首先下载TransactionRequest中的所有childRequest,每个childRequest下载完成后使用notify方式逐步向上通知, 直到所有的child下载完成TransactionRequest回调 TransactionCallBack的callBack方法通知业务层这个TransactionRequest下载完成。


方法详细资料

  • getPipeline

    public Pipeline getPipeline()
  • setPipeline

    public void setPipeline(Pipeline pipeline)
  • getAttribute

    public java.lang.Object getAttribute(java.lang.String attribute)
    从类复制的说明: BasicRequest
    取得属性
    指定者:
    getAttribute 在类中 BasicRequest
    返回:
    返回attribute属性对应的value。没有则返回null
  • addChildRequest

    public void addChildRequest(BasicRequest request)
    添加一个BasicRequest到TransactionRequest的child中
    参数:
    request -
  • iteratorChildRequests

    public java.util.Iterator<BasicRequest> iteratorChildRequests()
    返回这个TransactionRequest所有child的迭代器
    返回:

  • notify

    public void notify(int hashcode)
    从类复制的说明: BasicRequest
    当子url或者当前url完成的时候回调
    覆盖:
    notify 在类中 BasicRequest
    参数:
    hashcode - 实际Request的hashCode
  • checkComplete

    public void checkComplete()
    检查是否所有的Request标记都不是false。如果是那么所有的Request已经请求完成和处理。

GuozhongCrawler系列教程 (5) TransactionRequest详解

标签:guozhongcrawler 爬虫

原文地址:http://blog.csdn.net/u012572945/article/details/46425025

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!