package com.geccocrawler.gecco.downloader;
import net.sf.cglib.proxy.Enhancer;
import org.reflections.Reflections;
import com.geccocrawler.gecco.monitor.DownloadMointorIntercetor;
/**
* 带监控的下载器工厂类
*
* @author huchengyi
*
*/
public class MonitorDownloaderFactory extends DownloaderFactory {
public MonitorDownloaderFactory(Reflections reflections) {
super(reflections);
}
@Override
protected Object createDownloader(Class<?> downloaderClass) throws Exception {
Enhancer enhancer = new Enhancer();
enhancer.setSuperclass(downloaderClass);
enhancer.setCallback(new DownloadMointorIntercetor());
Object o = enhancer.create();
return o;
}
}