【发布时间】:2017-04-10 16:34:07
【问题描述】:
我正在用 java 开发一个机器人,我需要它定期加载一个网页,并计算出所有的 javascript。为此,我使用了 ScheduledExecutorService 和 JavaFX WebEngine。我的预定服务运行良好,它已经过日志测试,但是一旦我使用 WebEngine 添加页面加载,它会突然停止预定服务...
在服务之前,我使用不同的 WebEngine 对象来获取其中使用的 url。该代码打印我“已执行!”一次并停止。但是,如果我删除带有“engine.load(...”的行,它会每 5 秒打印一次
这是我的服务的代码:
ScheduledExecutorService updateService = Executors.newScheduledThreadPool(5);
WebEngine engine = this.updateEngine;
ScheduledFuture scheduledFuture =
updateService.scheduleWithFixedDelay(new Runnable(){
@Override
public void run() {
System.out.println("Executed!");
Maj job = jobsCycle.getNextMaj();
engine.load(job.getURL());
}
},
0,
5,
TimeUnit.SECONDS
);
感谢您的帮助,如果您不知道如何解决,我愿意接受该任务的任何其他解决方案。
【问题讨论】:
标签: java javafx scheduledexecutorservice javafx-webengine