GuozhongCrawlerシリーズチュートリアル(5)TransactionRequestの詳細
2192 ワード
同時キャプチャされたプロパティ情報を実装および維持するために、スレッドの安全なトランザクション要求を提供します.TransactionRequestは抽象クラスであり,独自にProcessorを設定することはできないが,TransactionCallBackインタフェースを実装する必要がある.TransactionRequestは複合的なBasicRequestです.彼は複数のPageRequest、BinaryRequest、さらにはTransactionRequest自身のオブジェクトをchildコレクションに追加し、ダウンロード中にまずTransactionRequestのすべてのchildRequestをダウンロードし、各childRequestのダウンロードが完了した後にnotify方式で徐々に上へ通知することができます.すべてのchildダウンロードが完了するまで、TransactionRequestコールバックTransactionCallBackのcallBackメソッドは、このTransactionRequestダウンロードが完了したことをビジネス層に通知します.
を設定する.指定者: 戻り: BasicRequestオブジェクト自体 を返します. を取得する.指定者: 戻り: は、attribute属性に対応するvalueを返します.なしでnull を返す パラメータ: を返す戻り: にコールバックする.カバー: パラメータ:
メソッドの詳細
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
getAttribute
public java.lang.Object getAttribute(java.lang.String attribute)
クラスからコピーする説明:BasicRequest
属性getAttribute
クラス中BasicRequest
addChildRequest
public void addChildRequest(BasicRequest request)
TransactionRequestのchildにBasicRequestを追加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は完了と処理を要求しました.