我收到以下错误:
找不到匹配的构造函数:org.crawler.CrawlerUtils$fetch(org.series.crawler.site.SubSiteA)。
我正在尝试使用线程。我只使用了一次线程,我正在尝试做与在另一个项目中所做的相同的事情。
我有:
Class CrawlerUtils {
public static void crawlSites(List<Site> sites) {
def pool = Executors.newFixedThreadPool(MAX_THREADS)
def ecs = new ExecutorCompletionService<Void>(pool);
sites.each { ecs.submit(new fetch(it), Void) }
sites.each { ecs.take().get() }
pool.shutdown()
}
class fetch implements Runnable {
Site site
fetch(Site site) {
this.site = site
}
public void run() {
site.parse()
}
}
}
我尝试了这些(丑陋的)方法:
- 创建一个接口(使用ISite 站点而不是fetch构造函数中的站点站点)
- 在fetch类中的每个子类中放置一个构造函数
- 在调用super()的每个子类中放置一个构造函数
任何的想法?