Nutch插件机制详解(一)

本文介绍了Nutch系统的插件架构,重点解析了扩展点、扩展及插件的概念,并展示了插件的内部结构,帮助读者理解如何利用这些组件构建灵活的系统。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

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 属性则描述了扩展点的实现

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值