在JavaFX2中使用WebEngine
时,我注意到它有时会卡住。假设我正在制作一个抓取工具,它只是在页面上找到超链接,然后访问它们以递归方式做同样的工作,并跟踪我们访问过哪些链接以及哪些链接已经在边界上。在运行我的代码时,执行有时会在任意时刻挂起。JavaFX WebEngine处于“正在运行”状态
我在听众的workDoneProperty
和exceptionProperty
的形式,通过打印loadWorker
的stateProperty
的每一个过渡增加了一些调试代码到我的项目。然后我注意到有时引擎会停止中间加载一个URL(状态卡在RUNNING
中,并且没有更多的workDone
更新)。我假设这是因为超时或某事,但我已经停止等待5分钟后确实是否超时。
的exceptionProperty
似乎并没有产生任何事件,也不对webEngine
过渡到FAILED
或CANCELLED
,它只是停止。我想知道这是否可能是图书馆的竞争条件,或者是我缺少的东西......有没有人遇到过这个知道如何解决这个问题的人?这是我的应用程序,该引擎并不仅仅停留randomnly ...
编辑很重要:添加产量从我的控制台:
Work done: -1
Engine Load Worker transitioning into state: READY
Work done: 0
Engine Load Worker transitioning into state: SCHEDULED
Engine Load Worker transitioning into state: RUNNING
Work done: 21
Work done: 24
Work done: 24
Work done: 57
Work done: 72
BUILD STOPPED (total time: 9 minutes 32 seconds)