AbstractScheduledService

AbstractScheduledService

我正在尝试扩展AbstractScheduledService.Scheduler,以便可以使用在实例变量中存储初始延迟和周期的计划。

我正在尝试以下

public class ScannerScheduler extends AbstractScheduledService.Scheduler {

    @Override
    public final Future<?> schedule(AbstractService as,
        ScheduledExecutorService ses, Runnable task) {
        Executors.newSingleThreadScheduledExecutor()
                 .scheduleAtFixedRate(task, 0, 1, TimeUnit.DAYS);
    }
}


但是编译器仍然抱怨:


  ScannerScheduler不是抽象的,并且不会覆盖抽象方法
  Schedule(AbstractService,ScheduledExecutorService,Runnable)在
  排程器


我想念什么?

最佳答案

修订版

Scheduler类具有private构造函数,这意味着您不能在不修改Guava库代码的情况下对其进行扩展。

因此,您需要采用javadocs建议的替代方法。


  如果需要更大的灵活性,请考虑将CustomScheduler子类化。




(在这种情况下,编译错误会引起误解……但最重要的是,extend方法将不起作用。)

10-04 19:08