Nutch源码
2021/8/13 20:06:25
本文主要是介绍Nutch源码,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
在URLNormalizers构造函数中,
this.extensionPoint =PluginRepository.get(conf).getExtensionPoint(
URLNormalizer.X_POINT_ID);
看1下PluginRepository.get函数:
public static synchronizedPluginRepository get(Configuration conf) {
PluginRepository result = CACHE.get(conf);
if (result ==null) {
result = newPluginRepository(conf);
CACHE.put(conf,result);
}
returnresult;
}
publicPluginRepository(Configuration conf)throwsRuntimeException {
fActivatedPlugins =newHashMap<String, Plugin>();
fExtensionPoints =newHashMap<String, ExtensionPoint>();
this.conf =conf;
this.auto =conf.getBoolean("plugin.auto-activation",true);
String[] pluginFolders = conf.getStrings("plugin.folders");
PluginManifestParsermanifestParser = new PluginManifestParser(conf,
this);
Map<String, PluginDescriptor>allPlugins = manifestParser
.parsePluginFolder(pluginFolders);
Pattern excludes = Pattern.compile(conf.get("plugin.excludes",""));
Pattern includes = Pattern.compile(conf.get("plugin.includes",""));
Map<String, PluginDescriptor>filteredPlugins = filter(excludes,
includes, allPlugins);
fRegisteredPlugins =getDependencyCheckedPlugins(filteredPlugins,
this.auto ?allPlugins : filteredPlugins);
installExtensionPoints(fRegisteredPlugins);
try {
installExtensions(fRegisteredPlugins);
} catch(PluginRuntimeException e) {
LOG.fatal(e.toString());
thrownewRuntimeException(e.getMessage());
}
displayStatus();
}
<property>
<name>plugin.folders</name>
<value>plugins</value>
</property>
2. plugin.auto-activation:
<property>
<name>plugin.auto-activation</name>
<value>true</value>
</property>
3. plugin.includes:
<property>
这篇关于Nutch源码的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享