2013-02-15 44 views
0

每當我嘗試使用XADisk我得到一個XASystemNoMoreAvailableException到一個byte []保存到一個文件:XADisk - 嘗試字節數組保存到一個文件

org.xadisk.filesystem.exceptions.XASystemNoMoreAvailableException:本XADisk實例已經遇到了一個關鍵問題,並沒有更多的可用。這種情況非常罕見。如果你認爲你已經設置的一切權利爲XADisk工作,請考慮在討論XADisk論壇,或提高與細節的錯誤

我的代碼基礎,我可以根據例子告訴...

public static void main(String[] args) throws Exception 
{ 
    StandaloneFileSystemConfiguration configuration = new StandaloneFileSystemConfiguration("xadiskFolder", "1"); 
    XAFileSystem XAF = XAFileSystemProxy.bootNativeXAFileSystem(configuration); 
    XAF.waitForBootup(-1); 

    Session session = XAF.createSessionForLocalTransaction(); 

    byte[] myByteArray = getByteArrayFromSomewhere(); 

    File myFile = new File("outputFile.test"); 
    session.createFile(myFile, false); 
    XAFileOutputStream output = session.createXAFileOutputStream(myFile, true); 
    output.write(myByteArray); 
    output.close(); 
    session.commit(); 
} 

回答

0

愚蠢的錯誤!可能導致

此異常,如果你打電話

XAF.shutdown(); 

嘗試讀/寫文件之前。在我的實際代碼中,我嘗試了/ catch/finally,其中包含代碼關閉xadisk而不是捕獲的finally塊。不要問我爲什麼。無論如何,因爲xadisk已經關閉,所以導致錯誤。

如果可能的話,我會推薦給xadisk的人們,以改善更新中的異常。基本上說,引擎沒有運行或已經關閉。是的,這是我的錯,但也有一個更好的例外信息,這將是一件好事。

+0

如果會話知道關閉,錯誤消息提到關閉的原因。記錄了跟蹤[問題](http://java.net/jira/browse/XADISK-131),以便在關機後停止創建新會話。 – 2013-02-16 10:57:58

相關問題