我正在尝试扩展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
方法将不起作用。)