GuozhongCrawler系列教程 (5) TransactionRequest詳解

      爲了實現和維護併發抓取的屬性信息提供線程安全的事務請求。TransactionRequest是一個抽象類本身不能設置Processor,卻須要實現 TransactionCallBack接口。TransactionRequest是個複合的BasicRequest。他能夠將多個PageRequest、BinaryRequest甚至TransactionRequest 本身的對象添加到child集合中,在下載過程當中首先下載TransactionRequest中的全部childRequest,每一個childRequest下載完成後使用notify方式逐步向上通知, 直到全部的child下載完成TransactionRequest回調 TransactionCallBack的callBack方法通知業務層這個TransactionRequest下載完成。java


方法詳細資料

  • getPipeline

    public Pipeline getPipeline()

  • setPipeline

    public void setPipeline(Pipeline pipeline)

  • addAttribute

    public BasicRequest addAttribute(java.lang.String attribute,
                            java.lang.Object value)

    從類複製的說明: BasicRequest安全

    設置屬性併發

  • getAttribute

    public java.lang.Object getAttribute(java.lang.String attribute)

    從類複製的說明: BasicRequestcomponent

    取得屬性對象

    • 指定者:接口

    • 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完成的時候回調

  • checkComplete

    public void checkComplete()

    檢查是否全部的Request標記都不是false。若是是那麼全部的Request已經請求完成和處理。

相關文章
相關標籤/搜索