亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? bdbmultipleworkqueues.html

?? 網絡爬蟲開源代碼
?? HTML
?? 第 1 頁 / 共 4 頁
字號:
<a name="137" href="#137">137</a>                     }<a name="138" href="#138">138</a>                 }<a name="139" href="#139">139</a>                 result = cursor.getNext(key, value, <strong>null</strong>);<a name="140" href="#140">140</a>             }<a name="141" href="#141">141</a>         } <strong>finally</strong> {<a name="142" href="#142">142</a>             <strong>if</strong> (cursor != <strong>null</strong>) {<a name="143" href="#143">143</a>                 cursor.close();<a name="144" href="#144">144</a>             }<a name="145" href="#145">145</a>         }<a name="146" href="#146">146</a> <a name="147" href="#147">147</a>         <strong>return</strong> deletedCount;<a name="148" href="#148">148</a>     }<a name="149" href="#149">149</a>     <a name="150" href="#150">150</a>     <em>/**<em>*</em></em><a name="151" href="#151">151</a> <em>     * @param m marker</em><a name="152" href="#152">152</a> <em>     * @param maxMatches</em><a name="153" href="#153">153</a> <em>     * @return list of matches starting from marker position</em><a name="154" href="#154">154</a> <em>     * @throws DatabaseException</em><a name="155" href="#155">155</a> <em>     */</em><a name="156" href="#156">156</a>     <strong>public</strong> List getFrom(<a href="../../../../org/archive/crawler/framework/FrontierMarker.html">FrontierMarker</a> m, <strong>int</strong> maxMatches) throws DatabaseException {<a name="157" href="#157">157</a>         <strong>int</strong> matches = 0;<a name="158" href="#158">158</a>         <strong>int</strong> tries = 0;<a name="159" href="#159">159</a>         ArrayList&lt;CrawlURI> results = <strong>new</strong> ArrayList&lt;CrawlURI>(maxMatches);<a name="160" href="#160">160</a>         BdbFrontierMarker marker = (BdbFrontierMarker) m;<a name="161" href="#161">161</a>         <a name="162" href="#162">162</a>         DatabaseEntry key = marker.getStartKey();<a name="163" href="#163">163</a>         DatabaseEntry value = <strong>new</strong> DatabaseEntry();<a name="164" href="#164">164</a>         <a name="165" href="#165">165</a>         <strong>if</strong> (key != <strong>null</strong>) {<a name="166" href="#166">166</a>             Cursor cursor = <strong>null</strong>;<a name="167" href="#167">167</a>             OperationStatus result = <strong>null</strong>;<a name="168" href="#168">168</a>             <strong>try</strong> {<a name="169" href="#169">169</a>                 cursor = pendingUrisDB.openCursor(<strong>null</strong>,<strong>null</strong>);<a name="170" href="#170">170</a>                 result = cursor.getSearchKey(key, value, <strong>null</strong>);<a name="171" href="#171">171</a>                 <a name="172" href="#172">172</a>                 <strong>while</strong>(matches&lt;maxMatches &amp;&amp; result == OperationStatus.SUCCESS) {<a name="173" href="#173">173</a>                     <strong>if</strong>(value.getData().length>0) {<a name="174" href="#174">174</a>                         <a href="../../../../org/archive/crawler/datamodel/CrawlURI.html">CrawlURI</a> curi = (CrawlURI) crawlUriBinding.entryToObject(value);<a name="175" href="#175">175</a>                         <strong>if</strong>(marker.accepts(curi)) {<a name="176" href="#176">176</a>                             results.add(curi);<a name="177" href="#177">177</a>                             matches++;<a name="178" href="#178">178</a>                         }<a name="179" href="#179">179</a>                         tries++;<a name="180" href="#180">180</a>                     }<a name="181" href="#181">181</a>                     result = cursor.getNext(key,value,<strong>null</strong>);<a name="182" href="#182">182</a>                 }<a name="183" href="#183">183</a>             } <strong>finally</strong> {<a name="184" href="#184">184</a>                 <strong>if</strong> (cursor !=<strong>null</strong>) {<a name="185" href="#185">185</a>                     cursor.close();<a name="186" href="#186">186</a>                 }<a name="187" href="#187">187</a>             }<a name="188" href="#188">188</a>             <a name="189" href="#189">189</a>             <strong>if</strong>(result != OperationStatus.SUCCESS) {<a name="190" href="#190">190</a>                 <em class="comment">// end of scan</em><a name="191" href="#191">191</a>                 marker.setStartKey(<strong>null</strong>);<a name="192" href="#192">192</a>             }<a name="193" href="#193">193</a>         }<a name="194" href="#194">194</a>         <strong>return</strong> results;<a name="195" href="#195">195</a>     }<a name="196" href="#196">196</a>     <a name="197" href="#197">197</a>     <em>/**<em>*</em></em><a name="198" href="#198">198</a> <em>     * Get a marker for beginning a scan over all contents</em><a name="199" href="#199">199</a> <em>     * </em><a name="200" href="#200">200</a> <em>     * @param regexpr</em><a name="201" href="#201">201</a> <em>     * @return a marker pointing to the first item</em><a name="202" href="#202">202</a> <em>     */</em><a name="203" href="#203">203</a>     <strong>public</strong> <a href="../../../../org/archive/crawler/framework/FrontierMarker.html">FrontierMarker</a> getInitialMarker(String regexpr) {<a name="204" href="#204">204</a>         <strong>try</strong> {<a name="205" href="#205">205</a>             <strong>return</strong> <strong>new</strong> BdbFrontierMarker(getFirstKey(), regexpr);<a name="206" href="#206">206</a>         } <strong>catch</strong> (DatabaseException e) {<a name="207" href="#207">207</a>             e.printStackTrace();<a name="208" href="#208">208</a>             <strong>return</strong> <strong>null</strong>; <a name="209" href="#209">209</a>         }<a name="210" href="#210">210</a>     }<a name="211" href="#211">211</a>     <a name="212" href="#212">212</a>     <em>/**<em>*</em></em><a name="213" href="#213">213</a> <em>     * @return the key to the first item in the database</em><a name="214" href="#214">214</a> <em>     * @throws DatabaseException</em><a name="215" href="#215">215</a> <em>     */</em><a name="216" href="#216">216</a>     <strong>protected</strong> DatabaseEntry getFirstKey() throws DatabaseException {<a name="217" href="#217">217</a>         DatabaseEntry key = <strong>new</strong> DatabaseEntry();<a name="218" href="#218">218</a>         DatabaseEntry value = <strong>new</strong> DatabaseEntry();<a name="219" href="#219">219</a>         Cursor cursor = pendingUrisDB.openCursor(<strong>null</strong>,<strong>null</strong>);<a name="220" href="#220">220</a>         OperationStatus status = cursor.getNext(key,value,<strong>null</strong>);<a name="221" href="#221">221</a>         cursor.close();<a name="222" href="#222">222</a>         <strong>if</strong>(status == OperationStatus.SUCCESS) {<a name="223" href="#223">223</a>             <strong>return</strong> key;<a name="224" href="#224">224</a>         }<a name="225" href="#225">225</a>         <strong>return</strong> <strong>null</strong>;<a name="226" href="#226">226</a>     }<a name="227" href="#227">227</a>     <a name="228" href="#228">228</a>     <em>/**<em>*</em></em><a name="229" href="#229">229</a> <em>     * Get the next nearest item after the given key. Relies on </em><a name="230" href="#230">230</a> <em>     * external discipline -- we'll look at the queues count of how many</em><a name="231" href="#231">231</a> <em>     * items it has -- to avoid asking for something from a</em><a name="232" href="#232">232</a> <em>     * range where there are no associated items --</em><a name="233" href="#233">233</a> <em>     * otherwise could get first item of next 'queue' by mistake. </em><a name="234" href="#234">234</a> <em>     * </em><a name="235" href="#235">235</a> <em>     * &lt;p>TODO: hold within a queue's range</em><a name="236" href="#236">236</a> <em>     * </em><a name="237" href="#237">237</a> <em>     * @param headKey Key prefix that demarks the beginning of the range</em><a name="238" href="#238">238</a> <em>     * in &lt;code>pendingUrisDB&lt;/code> we're interested in.</em><a name="239" href="#239">239</a> <em>     * @return CrawlURI.</em><a name="240" href="#240">240</a> <em>     * @throws DatabaseException</em><a name="241" href="#241">241</a> <em>     */</em><a name="242" href="#242">242</a>     <strong>public</strong> <a href="../../../../org/archive/crawler/datamodel/CrawlURI.html">CrawlURI</a> get(DatabaseEntry headKey)<a name="243" href="#243">243</a>     throws DatabaseException {<a name="244" href="#244">244</a>         DatabaseEntry result = <strong>new</strong> DatabaseEntry();<a name="245" href="#245">245</a>         <a name="246" href="#246">246</a>         <em class="comment">// From Linda Lee of sleepycat:</em><a name="247" href="#247">247</a>         <em class="comment">// "You want to check the status returned from Cursor.getSearchKeyRange</em><a name="248" href="#248">248</a>         <em class="comment">// to make sure that you have OperationStatus.SUCCESS. In that case,</em><a name="249" href="#249">249</a>         <em class="comment">// you have found a valid data record, and result.getData()</em><a name="250" href="#250">250</a>         <em class="comment">// (called by internally by the binding code, in this case) will be</em><a name="251" href="#251">251</a>         <em class="comment">// non-null. The other possible status return is</em><a name="252" href="#252">252</a>         <em class="comment">// OperationStatus.NOTFOUND, in which case no data record matched</em><a name="253" href="#253">253</a>         <em class="comment">// the criteria. "</em><a name="254" href="#254">254</a>         OperationStatus status = getNextNearestItem(headKey, result);<a name="255" href="#255">255</a>         <a href="../../../../org/archive/crawler/datamodel/CrawlURI.html">CrawlURI</a> retVal = <strong>null</strong>;<a name="256" href="#256">256</a>         <strong>if</strong> (status != OperationStatus.SUCCESS) {<a name="257" href="#257">257</a>             LOGGER.severe(<span class="string">"See '1219854 NPE je-2.0 "</span><a name="258" href="#258">258</a>                     + <span class="string">"entryToObject...'. OperationStatus "</span><a name="259" href="#259">259</a>                     + <span class="string">" was not SUCCESS: "</span><a name="260" href="#260">260</a>                     + status<a name="261" href="#261">261</a>                     + <span class="string">", headKey "</span><a name="262" href="#262">262</a>                     + BdbWorkQueue.getPrefixClassKey(headKey.getData()));<a name="263" href="#263">263</a>             <strong>return</strong> <strong>null</strong>;<a name="264" href="#264">264</a>         }<a name="265" href="#265">265</a>         <strong>try</strong> {<a name="266" href="#266">266</a>             retVal = (CrawlURI)crawlUriBinding.entryToObject(result);<a name="267" href="#267">267</a>         } <strong>catch</strong> (RuntimeExceptionWrapper rw) {<a name="268" href="#268">268</a>             LOGGER.log(<a name="269" href="#269">269</a>                 Level.SEVERE,<a name="270" href="#270">270</a>                 <span class="string">"expected object missing in queue "</span> +<a name="271" href="#271">271</a>                 BdbWorkQueue.getPrefixClassKey(headKey.getData()),<a name="272" href="#272">272</a>                 rw);<a name="273" href="#273">273</a>             <strong>return</strong> <strong>null</strong>; <a name="274" href="#274">274</a>         }<a name="275" href="#275">275</a>         retVal.setHolderKey(headKey);<a name="276" href="#276">276</a>         <strong>return</strong> retVal;<a name="277" href="#277">277</a>     }<a name="278" href="#278">278</a>     <a name="279" href="#279">279</a>     <strong>protected</strong> OperationStatus getNextNearestItem(DatabaseEntry headKey,<a name="280" href="#280">280</a>             DatabaseEntry result) throws DatabaseException {<a name="281" href="#281">281</a>         Cursor cursor = <strong>null</strong>;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品人在线二区三区| 一区二区三区美女视频| 欧美高清在线视频| 亚洲四区在线观看| 依依成人精品视频| 亚洲成人精品影院| 日韩精品一二区| 国产一区91精品张津瑜| 一本到不卡精品视频在线观看| 欧美日韩国产综合一区二区三区| 久久久噜噜噜久久人人看| 亚洲丝袜精品丝袜在线| 久久国产婷婷国产香蕉| 色综合中文字幕| 欧美mv和日韩mv的网站| 亚洲伊人色欲综合网| 国产麻豆日韩欧美久久| av一区二区三区黑人| 欧美日韩大陆在线| 精品国产百合女同互慰| 亚洲老司机在线| 国产成人精品aa毛片| 欧美美女网站色| 日韩美女啊v在线免费观看| 美女视频黄 久久| 在线观看日韩av先锋影音电影院| 精品乱码亚洲一区二区不卡| 亚洲人午夜精品天堂一二香蕉| 久久精工是国产品牌吗| 欧美性感一类影片在线播放| 中文字幕不卡一区| 久草精品在线观看| 91麻豆精品国产自产在线| 亚洲精品视频在线| 国产精品中文字幕日韩精品| 6080午夜不卡| 亚洲国产一区二区a毛片| 91蜜桃在线观看| 最新热久久免费视频| 国产99一区视频免费| 久久综合九色综合97婷婷女人 | 亚洲另类在线一区| 成人ar影院免费观看视频| 精品不卡在线视频| 国产美女精品一区二区三区| 精品电影一区二区| 美女视频一区二区三区| 日韩一级大片在线| 蜜臀av在线播放一区二区三区| 欧美日韩国产高清一区二区三区| 亚洲激情图片小说视频| 91丨国产丨九色丨pron| 亚洲欧美日韩国产成人精品影院| caoporn国产精品| 中文字幕一区二区三| 波多野结衣亚洲一区| 国产精品区一区二区三| av中文一区二区三区| 中文字幕av不卡| 国产成人精品一区二区三区网站观看 | 日韩一卡二卡三卡四卡| 天堂一区二区在线免费观看| 91精品国产乱| 国内一区二区视频| 亚洲国产精华液网站w| 白白色 亚洲乱淫| ㊣最新国产の精品bt伙计久久| 97超碰欧美中文字幕| 亚洲美女视频在线| 欧美日韩精品三区| 韩国精品在线观看| 专区另类欧美日韩| 欧美精品 日韩| 国产伦理精品不卡| 日韩一区有码在线| 日韩一区二区三区四区| 国产成人综合网站| 亚洲综合在线免费观看| 日韩欧美国产1| 成人97人人超碰人人99| 亚洲国产成人高清精品| 精品国产一区二区三区忘忧草| 不卡在线观看av| 日韩av一级片| 亚洲六月丁香色婷婷综合久久 | 午夜精品aaa| 久久一区二区三区四区| 色悠久久久久综合欧美99| 日韩va亚洲va欧美va久久| 久久久精品tv| 欧美日本不卡视频| 成人自拍视频在线| 日产精品久久久久久久性色| 国产精品网曝门| 日韩三级在线免费观看| 91欧美一区二区| 激情文学综合网| 亚洲网友自拍偷拍| 国产精品欧美一级免费| 日韩三级在线观看| 欧美日韩国产一区| 波多野结衣的一区二区三区| 日韩精品福利网| 亚洲精品成a人| 91精品国产麻豆| 欧美在线不卡视频| 波多野结衣一区二区三区| 日本不卡一区二区三区| 亚洲欧洲三级电影| 久久久久久亚洲综合影院红桃 | 最新热久久免费视频| 精品99一区二区| 欧美精品xxxxbbbb| 色哟哟日韩精品| 91美女在线观看| 成人免费视频视频在线观看免费| 久久www免费人成看片高清| 亚洲成人一区二区在线观看| 中文字幕色av一区二区三区| 亚洲精品一区二区三区影院| 欧美高清www午色夜在线视频| 色婷婷综合在线| 99riav久久精品riav| 成人午夜激情片| 国产suv精品一区二区883| 精品亚洲国内自在自线福利| 久色婷婷小香蕉久久| 开心九九激情九九欧美日韩精美视频电影 | 亚洲美女屁股眼交| 中文无字幕一区二区三区 | 经典三级在线一区| 男人的j进女人的j一区| 麻豆精品视频在线| 精品一区中文字幕| 国产一区 二区| 成人app网站| 国产成都精品91一区二区三 | 久久久国产综合精品女国产盗摄| 欧美成人a在线| 久久久久久一级片| 欧美极品美女视频| 亚洲男女一区二区三区| 亚洲一区二区四区蜜桃| 亚洲婷婷综合久久一本伊一区| 亚洲男人电影天堂| 首页国产欧美久久| 麻豆国产一区二区| 秋霞电影一区二区| 日韩精品一二三四| 国产乱淫av一区二区三区| 国产不卡高清在线观看视频| 91免费国产在线| 欧美日本一区二区在线观看| 欧美一区二区三区啪啪| 久久久久久免费毛片精品| 国产精品美女久久久久aⅴ国产馆| 国产精品家庭影院| 肉色丝袜一区二区| 国产精品88888| 97精品久久久午夜一区二区三区 | 国内成+人亚洲+欧美+综合在线| 精品亚洲免费视频| 99久久综合精品| 91精品国产综合久久精品app| 日韩精品一区二区三区中文不卡| 欧美激情中文不卡| 午夜精品久久久久久久99水蜜桃| 美腿丝袜亚洲一区| 99久久久免费精品国产一区二区| 欧美日韩电影在线| 国产女人18毛片水真多成人如厕 | 日韩欧美国产午夜精品| 国产亚洲福利社区一区| 亚洲成人精品一区二区| 成人一级视频在线观看| 欧美电影免费观看完整版| 亚洲已满18点击进入久久| jiyouzz国产精品久久| 久久久久久免费毛片精品| 日本少妇一区二区| 欧美日韩中文字幕一区| 1024亚洲合集| 粉嫩av一区二区三区粉嫩| 日韩一区国产二区欧美三区| 天堂av在线一区| 欧美日韩国产美| 亚洲国产va精品久久久不卡综合| 91色综合久久久久婷婷| 国产精品每日更新在线播放网址| 国产麻豆精品在线| 久久天天做天天爱综合色| 日本中文字幕一区二区有限公司| 欧美日韩一区二区三区高清 | 精东粉嫩av免费一区二区三区| 欧美色老头old∨ideo| 亚洲精品第一国产综合野| 91女厕偷拍女厕偷拍高清| 亚洲欧美激情一区二区| 91首页免费视频| 亚洲最新视频在线观看|