Storm中对于Protocol进行的封装是怎样的
云計算
本篇文章為大家展示了Storm中對于Protocol進行的封裝是怎樣的,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
對于Protocol的封裝
packagecom.digitalpebble.storm.crawler.fetcher;importcom.digitalpebble.storm.crawler.util.Configuration;publicinterfaceProtocol{publicProtocolResponsegetProtocolOutput(Stringurl)throwsException;publicvoidconfigure(Configurationconf);}
對于ProtoclFactory的封裝
packagecom.digitalpebble.storm.crawler.fetcher;importjava.net.URL;importjava.util.WeakHashMap;importcom.digitalpebble.storm.crawler.fetcher.asynchttpclient.AHProtocol;importcom.digitalpebble.storm.crawler.util.Configuration;/***@authorYinShuai**/publicclassProtocolFactory{privatefinalConfigurationconfig;privatefinalWeakHashMap<String,Protocol>cache=newWeakHashMap<String,Protocol>();publicProtocolFactory(Configurationconf){config=conf;}/**ReturnsaninstanceoftheprotocoltouseforagivenURL**/publicsynchronizedProtocolgetProtocol(URLurl){//gettheprotocolStringprotocol=url.getProtocol();Protocolpp=cache.get(protocol);if(pp!=null)returnpp;//yuk!hardcodedfornowpp=newAHProtocol();pp.configure(config);cache.put(protocol,pp);returnpp;}}
對于ProtocolResponse的封裝
packagecom.digitalpebble.storm.crawler.fetcher;importjava.util.HashMap;publicclassProtocolResponse{finalbyte[]content;finalintstatusCode;finalHashMap<String,String[]>metadata;publicProtocolResponse(byte[]c,ints,HashMap<String,String[]>md){content=c;statusCode=s;metadata=md;}publicbyte[]getContent(){returncontent;}publicintgetStatusCode(){returnstatusCode;}publicHashMap<String,String[]>getMetadata(){returnmetadata;}}
上述內容就是Storm中對于Protocol進行的封裝是怎樣的,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
總結
以上是生活随笔為你收集整理的Storm中对于Protocol进行的封装是怎样的的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vista中提示Bluetooth Pe
- 下一篇: 如何使用Linux查看ifconfig网