每当我尝试使用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();
}
答案 0 :(得分:0)
愚蠢的错误!!
如果您致电
,可能会导致此异常XAF.shutdown();
在尝试写入/读取文件之前。在我的实际代码中,我尝试/ catch / finally使用包含代码的finally块来关闭xadisk而不是catch。不要问我为什么。在任何情况下,由于xadisk已经关闭,因此导致错误。
如果可能的话,我会向xadisk的人推荐的是改进更新中的异常。基本上有些东西说引擎没有运行或者已经关机了。是的,这是我的错,但是也有一个更好的异常消息也很棒。