0

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

1 に答える 1

0

ばかげた間違い!!

この例外は、呼び出した場合に発生する可能性があります

XAF.shutdown();

ファイルへの書き込み/読み取りを試みる前に。私の実際のコードでは、catchではなくxadiskをシャットダウンするコードを含むfinallyブロックでtry / catch/finallyを実行しました。理由を聞かないでください。いずれにせよ、xadiskはすでにシャットダウンされているため、エラーが発生しました。

可能であれば、xadiskの人々に私がお勧めするのは、アップデートで例外を改善することです。基本的に、エンジンが実行されていないか、すでにシャットダウンされていることを示す何か。はい、それは私のせいでしたが、より良い例外メッセージもあるといいですね。

于 2013-02-15T03:26:25.847 に答える