XADisk - 尝试将字节数组保存到文件中

时间:2013-02-15 02:55:34

标签: java xadisk

每当我尝试使用XADisk将byte []保存到文件时,我得到一个XASystemNoMoreAvailableException:

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();
}

1 个答案:

答案 0 :(得分:0)

愚蠢的错误!!

如果您致电

,可能会导致此异常
XAF.shutdown();
在尝试写入/读取文件之前

。在我的实际代码中,我尝试/ catch / finally使用包含代码的finally块来关闭xadisk而不是catch。不要问我为什么。在任何情况下,由于xadisk已经关闭,因此导致错误。

如果可能的话,我会向xadisk的人推荐的是改进更新中的异常。基本上有些东西说引擎没有运行或者已经关机了。是的,这是我的错,但是也有一个更好的异常消息也很棒。