为什么injector了47个站点,而generate的时候却把上次爬去的父链接给过滤掉了?

因为返回时间的问题,被第二个多了条件给过滤掉了

      if (!schedule.shouldFetch(url, crawlDatum, curTime)) {
        LOG.debug("-shouldFetch rejected '" + url + "', fetchTime="
            + crawlDatum.getFetchTime() + ", curTime=" + curTime);
        return;
      }


 查看中间结果显示:可一看到父链接的FetchTime大于nutch的curTime,也大于刚得到的系统时间,所以可以确定对于父链接的datum中的FetchTime属性指的是下次爬取的时间,而不是本次爬去完成的时间。

datum.getFetchTime=1346142937056
curTime=1343551003551
System.currentTimeMillis()=1343551004197

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Java中的依赖注入(Dependency Injection,DI)是一种编程模式,它的主要目的是将类之间的依赖关系从代码中分离出来,使得这些依赖关系可以在运行时动态地被注入到类中,而不是由类自己去创建或者查找依赖对象。 依赖注入的主要优点是可以提高代码的可复用性、可测试性和可维护性。通过将依赖关系从代码中分离出来,我们可以更轻松地替换、升级或者删除依赖对象,而无需修改类的代码。同时,通过将依赖对象注入到类中,我们可以更容易地模拟依赖对象的行为,从而更方便地进行单元测试。 Java中实现依赖注入的方法有很多种,其中比较常用的有以下几种: 1. 构造函数注入:通过类的构造函数来注入依赖对象,例如: ``` public class MyClass { private MyDependency myDependency; public MyClass(MyDependency myDependency) { this.myDependency = myDependency; } } ``` 2. Setter方法注入:通过类的Setter方法来注入依赖对象,例如: ``` public class MyClass { private MyDependency myDependency; public void setMyDependency(MyDependency myDependency) { this.myDependency = myDependency; } } ``` 3. 接口注入:通过一个接口来注入依赖对象,例如: ``` public interface MyDependencyInjector { MyDependency getMyDependency(); } public class MyClass { private MyDependency myDependency; public MyClass(MyDependencyInjector injector) { this.myDependency = injector.getMyDependency(); } } ``` 4. 注解注入:通过注解来标记需要注入的依赖对象,例如: ``` public class MyClass { @Autowired private MyDependency myDependency; } ``` 以上只是一些常用的依赖注入方法,实际上还有很多其他的方法可以实现依赖注入,例如工厂模式、模板方法模式等等。不同的方法适用于不同的场景和需求,开发者可以根据自己的实际情况选择最适合自己的方法来实现依赖注入。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WitsMakeMen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值