首页 > 代码库 > GuozhongCrawler系列教程 (5) TransactionRequest具体解释
GuozhongCrawler系列教程 (5) TransactionRequest具体解释
为了实现和维护并发抓取的属性信息提供线程安全的事务请求。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)
-
addAttribute
public BasicRequest addAttribute(java.lang.String attribute, java.lang.Object value)
从类复制的说明:BasicRequest
设置属性- 指定者:
addAttribute
在类中BasicRequest
- 返回:
- 返回BasicRequest对象自身
-
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具体解释
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。