Nutch插件加载流程

首先介绍一下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


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值