2017-04-10 58 views
0

我正在開發一個在Java中的機器人,我需要它定期加載一個網頁及其所有的JavaScript計算。爲此,我使用ScheduledExecutorService和JavaFX WebEngine。我的預定服務工作得很好,它已經測試過日誌,但是一旦我用WebEngine添加頁面加載,它突然停止預定的服務...定期的網頁加載

在服務之前,我使用不同的WebEngine對象來獲取在其中使用的網址。該代碼打印我「執行!」一次,停止。

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 
      ); 

謝謝您的幫助,如果你不:但如果我刪除與該行「engine.load(...」它打印每5秒

這裏是爲我服務的代碼執行「知道如何解決這個問題,我願意接受該任務的任何其他解決方案。

回答

0

非常感謝你的幫助傢伙!-_-

最後我用硒,而不是解決了這個問題JavaFX WebEngine。這是慢一點,但js加載和渲染是自動管理的當使用HtmlUnit加載網頁時。

和平