Trong khi sử dụng WebEngine
trong JavaFX2, tôi đã nhận thấy nó đôi khi chỉ bị kẹt. Giả sử tôi đã tạo một trình thu thập thông tin đơn giản tìm các siêu liên kết trên một trang và sau đó truy cập các liên kết đó để thực hiện cùng một đệ quy, theo dõi liên kết nào chúng tôi đã truy cập và đã có trên biên giới. Trong khi chạy mã của tôi, việc thực thi đôi khi sẽ treo tại các thời điểm tùy ý.JavaFX WebEngine bị kẹt trong trạng thái "Đang chạy"
Tôi đã thêm một số mã gỡ lỗi vào dự án của mình dưới dạng người nghe tới workDoneProperty
và exceptionProperty
và bằng cách in mọi chuyển đổi của's stateProperty
. Sau đó, tôi nhận thấy đôi khi động cơ sẽ ngừng tải giữa một URL (trạng thái bị kẹt trong RUNNING
và không có thêm workDone
cập nhật). Tôi giả định điều này là do một thời gian hoặc một cái gì đó, nhưng tôi đã ngừng chờ đợi để xem nếu nó thực sự là một thời gian chờ sau 5 phút.
exceptionProperty
dường như không tạo ra bất kỳ sự kiện nào và cũng không chuyển đổi webEngine
thành FAILED
hoặc CANCELLED
, nó chỉ dừng lại. Tôi đang tự hỏi nếu điều này có khả năng là một điều kiện chủng tộc trong thư viện hoặc có thể có một cái gì đó tôi đang mất tích ... Có ai gặp phải điều này ai biết làm thế nào điều này có thể được cố định? Đó là khá quan trọng đối với ứng dụng của tôi mà động cơ không chỉ dừng lại randomnly ...
EDIT: gia tăng đầu ra từ giao diện điều khiển của tôi:
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)