2012-04-09 56 views
0

很少,我的生產應用程序在調用FileChannel上的方法時遇到意外的ClosedByInterruptException。根據Java文檔,這發生在調用線程處於中斷狀態時。有趣的是,我的應用程序從不中斷任何線程。這似乎是從應用程序下面發生的。某種系統中斷也許?有沒有人遇到過這個問題?Unexplained ClosedByInterruptException。 Java FileChannel Bug?

java.nio.channels.ClosedByInterruptException 
    at java.nio.channels.spi.AbstractInterruptibleChannel.end(\ 
     AbstractInterruptibleChannel.java:184) 
    at sun.nio.ch.FileChannelImpl.size(FileChannelImpl.java:314) 
    ... 
+0

你有沒有取消任何期貨? – jtahlborn 2012-04-10 00:45:09

+0

你的envinronment是什麼?像Tomcat或普通Java應用程序? – dash1e 2012-04-10 00:59:48

+0

該應用程序是一個管理文件通道的簡單Web應用程序。環境是Linux,Java 1.6和Resin Web容器。 Web應用程序不執行線程管理。它不使用線程池執行程序或期貨。 – Elliot 2012-04-10 03:15:27

回答

0

您的應用程序可能永遠不會中斷線程,但JVM可能因爲自己的原因這樣做。這根本不可能是一個FileChannel錯誤,而是JVM本身的一些無法預料的情況。

+0

「導致FileChannel的行爲與文檔相反的JVM中的不明原因狀況」和「存在錯誤」之間的區別是什麼?不是說你錯了,只是「不明原因的狀況」並不是非常有用。 – 2012-04-12 01:55:59

+1

@StevenSchlansker我沒有說有或沒有錯誤,我說它不太可能是'FileChannel' *中的錯誤*。我似乎很清楚。 – EJP 2012-04-12 02:02:39

+0

感謝您的確認。這實際上就是我的意思。當我說FileChannel中存在一個錯誤時,我並不是指Java代碼中的錯誤,而是指FileChannel類下某處的本地/ JVM代碼中的錯誤。 – Elliot 2012-04-12 16:06:25

相關問題