一、InjectorJob类结构分析
由图可见,Injector类实现了接口Tool,继承自NutchTool类,有一个继承自Mapper的内部类UrlMapper。
二 InjectorJob类的运行流程
三 InjectorJob类运行流程详解
1、 main函数:提供函数入口,创建一个ToolRunner类,先加载Nutch的两个配置文件nutch-default.xml和nutch-site.xml文件,接收命令行输入参数并创建一个InjectorJob类。接下来程序跳转到run(String[] args)函数。
2、run(String[] args)函数:接收命令行输入的参数,判断从命令行当中接收的参数是否合理,如果没有输入参数或者输入参数不合理,则提示正确的输入方法;如果输入参数正确,则跳转到inject函数。
3、 inject(Path urlDir)函数:通过参数args[0]创建path实例,表示种子文件的目录。该函数打印了inject开始的一些基本信息之后跳转到run(ToolUtil.toArgMap(Nutch.ARG_SEEDDIR, urlDir))函数,执行InjectorJob类的和核心部分
4、 run(ToolUtil.toArgMap(Nutch.ARG_SEEDDIR, urlDir)):该函数调用了hadoo