本篇文章為大家展示了Storm中對于Protocol進行的封裝是怎樣的,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

成都創(chuàng)新互聯堅持“要么做到,要么別承諾”的工作理念,服務領域包括:成都網站設計、成都網站建設、企業(yè)官網、英文網站、手機端網站、網站推廣等服務,滿足客戶于互聯網時代的鐵西網站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯網解決方案。努力成為您成熟可靠的網絡建設合作伙伴!
對于Protocol的封裝
package com.digitalpebble.storm.crawler.fetcher;
import com.digitalpebble.storm.crawler.util.Configuration;
public interface Protocol {
public ProtocolResponse getProtocolOutput(String url) throws Exception;
public void configure(Configuration conf);
}對于ProtoclFactory的封裝
package com.digitalpebble.storm.crawler.fetcher;
import java.net.URL;
import java.util.WeakHashMap;
import com.digitalpebble.storm.crawler.fetcher.asynchttpclient.AHProtocol;
import com.digitalpebble.storm.crawler.util.Configuration;
/**
* @author Yin Shuai
*
*/
public class ProtocolFactory {
private final Configuration config;
private final WeakHashMap<String, Protocol> cache = new WeakHashMap<String, Protocol>();
public ProtocolFactory(Configuration conf) {
config = conf;
}
/** Returns an instance of the protocol to use for a given URL **/
public synchronized Protocol getProtocol(URL url) {
// get the protocol
String protocol = url.getProtocol();
Protocol pp = cache.get(protocol);
if (pp != null)
return pp;
// yuk! hardcoded for now
pp = new AHProtocol();
pp.configure(config);
cache.put(protocol,pp);
return pp;
}
}對于ProtocolResponse的封裝
package com.digitalpebble.storm.crawler.fetcher;
import java.util.HashMap;
public class ProtocolResponse {
final byte[] content;
final int statusCode;
final HashMap<String, String[]> metadata;
public ProtocolResponse(byte[] c, int s, HashMap<String, String[]> md){
content = c;
statusCode = s;
metadata = md;
}
public byte[] getContent() {
return content;
}
public int getStatusCode() {
return statusCode;
}
public HashMap<String, String[]> getMetadata() {
return metadata;
}
}上述內容就是Storm中對于Protocol進行的封裝是怎樣的,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注創(chuàng)新互聯行業(yè)資訊頻道。
網站欄目:Storm中對于Protocol進行的封裝是怎樣的
地址分享:http://www.chinadenli.net/article2/geigoc.html
成都網站建設公司_創(chuàng)新互聯,為您提供標簽優(yōu)化、網站導航、網頁設計公司、ChatGPT、微信小程序、網站營銷
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯