2016-12-02 31 views
2

我正在使用我的軟件的用戶在我的軟件爲文件夾添加手錶時遇到問題。電話register似乎永遠阻止。下面是從用戶的機器上的線程轉儲:WatchService是否應該阻止註冊?

platformExecutor [01-12_10:14]" Id=56 WAITING on [email protected] 
    at java.lang.Object.wait(Native Method) 
    - waiting on [email protected] 
    at java.lang.Object.wait(Unknown Source) 
    at sun.nio.fs.AbstractPoller$Request.awaitResult(Unknown Source) 
    at sun.nio.fs.AbstractPoller.invoke(Unknown Source) 
    at sun.nio.fs.AbstractPoller.register(Unknown Source) 
    at sun.nio.fs.WindowsWatchService.register(Unknown Source) 
    at sun.nio.fs.WindowsPath.register(Unknown Source) 
    at sun.nio.fs.AbstractPath.register(Unknown Source) 
    at com.elsten.bliss.platform.storage.file.observer.filewatcher.FileWatcherFileSystemObserver$WatchingFileVisitor$$anonfun$preVisitDirectory$2.apply(FileWatcherFileSystemObserver.scala:87) 

我們離開了幾個小時,並調用register沒有返回。

正在監視的文件夾通過使用WiFi的網絡附加存儲上的網絡進行訪問。我意識到這是不太可靠的,但我有許多用戶具有類似的配置,這是第一次這個報告。

在Javadoc文檔register有阻止潛在的沒有提及。我是否應該在某種類型的暫停中實際包圍此通話?

+2

我看到這個確切的同樣的問題。在我的情況下,我正在觀察本地文件系統上的一個目錄(而不是網絡連接),並且我的單元測試會間歇性地掛上顯示的完全相同的堆棧跟蹤。我在那裏呆了兩天,仍然掛着。我肯定會稱這是一個錯誤。 – JimN

+2

我用Oracle支持打開了一張票,包括一個可複製的測試用例。 – JimN

+1

有趣的,如果/當你得到一個適當的錯誤ID,請張貼URL。這是與Oracle還是OpenJDK? –

回答