您的位置:首页 > 其它

Nutch插件加载流程

2013-09-01 14:13 344 查看
首先介绍一下Nutch插件使用到的几个类:

1.PluginRepository:存储了PluginDescriptor,Extension,ExtensionPoint

2.PluginDescriptor:描述插件的元数据,从plugin.xml处获得

3.Plugin:插件的一个抽象

4.ExtensionPoint:扩展点,nutch有15个扩展点,所有插件都集中在nutch-extensionpoints中,它本身也是个插件

5.extension:对扩展点的实现,一个插件点可以有多个实现

6.PluginManifestParse:解析plugin.xml,生成对应PluginDescriptor

7.PluginClassLoader:根据urls动态生成相应的插件实现对象

具体讲解几个类:(1)一个ExtensionPoint 包含多个Extension,Extention是对Extensionpoint的实现。(2)PluginManifestParser负责对插件目录列表中的每个插件描述文件plugin.xml进行解析,然后将结果保存在PluginDescriptor中。(3)可以理解为PluginDescriptor时plugin.xml的java描述。

整个插件系统的加载过程是:

1.初始化PluginRespository,读取各种配置文件,主要来自nutch-site.xml,nutch-default.xml

2.得到PluginManifestParser,对所有插件文件进行遍历,然后对每一个plugin.xml生成一个对应的PluginDexcriptor,最后得到一个List,存放所有对象

3.根据配置文件,过滤掉一些插件

4.插件依赖关系检查,调用getDependencyCheckedPlugins(),将所有依赖的插件加入到集合中

5.安装插件

更详细的介绍请看: http://blog.csdn.net/amuseme_lu/article/details/6786261
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  nutch 插件