您的位置:首页 > 其它

Nutch插件机制详解(一)

2010-06-24 00:55 323 查看
Nutch系统架构的一个亮点就是插件,借鉴这个架构我们可以设计出自己的灵活的系统架构,下面就来解析Nutch的插件系统是怎么回事。

一、 在Nutch的插件体系架构下,有些术语需要解释:

1、扩展点(ExtensionPoint )

扩展点是系统中可以被再次扩展的类或者接口,通过扩展点的定义,可以使得系统的执行过程变得可插入,可任意变化。

2、扩展 ( Extension )

扩展式插件内部的一个属性,一个扩展是针对某个扩展点的一个实现,每个扩展都可以有自己的额外属性,用于在同一个扩展点实现之间进行区分。扩展必须在插件内部进行定义。

3、插件 ( Plugin )

插件实际就是一个虚拟的容器,包含了多个扩展 Extension、依赖插件 RequirePlugins 和自身发布的库Runtime,插件可以被启动或者停止。

Nutch 为了扩展,预留了很多扩展点 ExtenstionPoint,同时提供了这些扩展点的基本实现
Extension,Plugin用来组织这些扩展,这些都通过配置文件进行控制,主要的配置文件包括了多个定义扩展点和插件(扩展)的配置文件,一个控制加载哪些插件的配置文件。体系结构图如下:



二、插件的内部结构 ,如下图:



1. runtime
属性描述了其需要的Jar包和发布的Jar包

2.
requires 属性描述了依赖的插件

3.
extension-point 描述了本插件宣布可扩展的扩展点

4.
extension 属性则描述了扩展点的实现
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: