diff --git a/webmagic-core/src/main/java/us/codecraft/webmagic/Spider.java b/webmagic-core/src/main/java/us/codecraft/webmagic/Spider.java
index efff6ec..c5c239f 100644
--- a/webmagic-core/src/main/java/us/codecraft/webmagic/Spider.java
+++ b/webmagic-core/src/main/java/us/codecraft/webmagic/Spider.java
@@ -2,7 +2,6 @@ package us.codecraft.webmagic;
import org.apache.commons.collections.CollectionUtils;
import org.apache.log4j.Logger;
-import us.codecraft.webmagic.downloader.Destroyable;
import us.codecraft.webmagic.downloader.Downloader;
import us.codecraft.webmagic.downloader.HttpClientDownloader;
import us.codecraft.webmagic.pipeline.ConsolePipeline;
@@ -12,6 +11,8 @@ import us.codecraft.webmagic.scheduler.QueueScheduler;
import us.codecraft.webmagic.scheduler.Scheduler;
import us.codecraft.webmagic.utils.ThreadUtils;
+import java.io.Closeable;
+import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.ExecutorService;
@@ -279,8 +280,12 @@ public class Spider implements Runnable, Task {
}
private void destroyEach(Object object) {
- if (object instanceof Destroyable) {
- ((Destroyable) object).destroy();
+ if (object instanceof Closeable) {
+ try {
+ ((Closeable) object).close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
}
}
diff --git a/webmagic-core/src/main/java/us/codecraft/webmagic/downloader/Destroyable.java b/webmagic-core/src/main/java/us/codecraft/webmagic/downloader/Destroyable.java
deleted file mode 100644
index 6dcbde1..0000000
--- a/webmagic-core/src/main/java/us/codecraft/webmagic/downloader/Destroyable.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package us.codecraft.webmagic.downloader;
-
-/**
- * 比较占用资源的服务可以实现该接口,Spider会在结束时调用destroy()释放资源。
- * @author code4crafter@gmail.com
- * Date: 13-7-26
- * Time: 下午3:10
- */
-public interface Destroyable {
-
- public void destroy();
-
-}
diff --git a/webmagic-extension/src/main/java/us/codecraft/webmagic/model/OOSpider.java b/webmagic-extension/src/main/java/us/codecraft/webmagic/model/OOSpider.java
index bff5a3a..d7f2b87 100644
--- a/webmagic-extension/src/main/java/us/codecraft/webmagic/model/OOSpider.java
+++ b/webmagic-extension/src/main/java/us/codecraft/webmagic/model/OOSpider.java
@@ -56,7 +56,7 @@ public class OOSpider extends Spider {
public OOSpider(Site site, PageModelPipeline pageModelPipeline, Class... pageModels) {
this(ModelPageProcessor.create(site, pageModels));
this.modelPipeline = new ModelPipeline();
- super.pipeline(modelPipeline);
+ super.addPipeline(modelPipeline);
if (pageModelPipeline!=null){
for (Class pageModel : pageModels) {
this.modelPipeline.put(pageModel, pageModelPipeline);
diff --git a/webmagic-selenium/src/main/java/us/codecraft/webmagic/downloader/selenium/SeleniumDownloader.java b/webmagic-selenium/src/main/java/us/codecraft/webmagic/downloader/selenium/SeleniumDownloader.java
index 0fa0eea..3d4fcdb 100644
--- a/webmagic-selenium/src/main/java/us/codecraft/webmagic/downloader/selenium/SeleniumDownloader.java
+++ b/webmagic-selenium/src/main/java/us/codecraft/webmagic/downloader/selenium/SeleniumDownloader.java
@@ -9,12 +9,13 @@ import us.codecraft.webmagic.Page;
import us.codecraft.webmagic.Request;
import us.codecraft.webmagic.Site;
import us.codecraft.webmagic.Task;
-import us.codecraft.webmagic.downloader.Destroyable;
import us.codecraft.webmagic.downloader.Downloader;
import us.codecraft.webmagic.selector.Html;
import us.codecraft.webmagic.selector.PlainText;
import us.codecraft.webmagic.utils.UrlUtils;
+import java.io.Closeable;
+import java.io.IOException;
import java.util.Map;
/**
@@ -25,7 +26,7 @@ import java.util.Map;
* Date: 13-7-26
* Time: 下午1:37
*/
-public class SeleniumDownloader implements Downloader, Destroyable {
+public class SeleniumDownloader implements Downloader, Closeable {
private volatile WebDriverPool webDriverPool;
@@ -104,7 +105,7 @@ public class SeleniumDownloader implements Downloader, Destroyable {
}
@Override
- public void destroy() {
+ public void close() throws IOException {
webDriverPool.closeAll();
}
}