爲了實現和維護併發抓取的屬性信息提供線程安全的事務請求。TransactionRequest是一個抽象類本身不能設置Processor,卻須要實現 TransactionCallBack接口。TransactionRequest是個複合的BasicRequest。他能夠將多個PageRequest、BinaryRequest甚至TransactionRequest 本身的對象添加到child集合中,在下載過程當中首先下載TransactionRequest中的全部childRequest,每一個childRequest下載完成後使用notify方式逐步向上通知, 直到全部的child下載完成TransactionRequest回調 TransactionCallBack的callBack方法通知業務層這個TransactionRequest下載完成。java
public Pipeline getPipeline()
public void setPipeline(Pipeline pipeline)
public BasicRequest addAttribute(java.lang.String attribute, java.lang.Object value)
從類複製的說明: BasicRequest
安全
設置屬性併發
指定者:url
addAttribute
在類中 BasicRequest
spa
返回:線程
返回BasicRequest對象自身code
public java.lang.Object getAttribute(java.lang.String attribute)
從類複製的說明: BasicRequest
component
取得屬性對象
指定者:接口
返回:
返回attribute屬性對應的value。沒有則返回null
public void addChildRequest(BasicRequest request)
添加一個BasicRequest到TransactionRequest的child中
參數:
request
-
public java.util.Iterator<BasicRequest> iteratorChildRequests()
返回這個TransactionRequest全部child的迭代器
返回:
public void notify(int hashcode)
從類複製的說明: BasicRequest
當子url或者當前url完成的時候回調
覆蓋:
notify
在類中 BasicRequest
參數:
hashcode
- 實際Request的hashCode
public void checkComplete()
檢查是否全部的Request標記都不是false。若是是那麼全部的Request已經請求完成和處理。