首页 > 解决方案 > 安全关闭 Xodus 环境的正确方法是什么?

问题描述

我需要一种关闭 Xodus 环境的方法,以便

到目前为止,我们尝试过这样的事情

if (env.isOpen()) {            
    env.clear();
    env.close();
}

但我不确定它是否完全正确,我仍然env.close()不时抛出异常。那么这样做的正确方法是什么?

标签: xodus

解决方案


首先,请注意,这Environment#clear()只会清除您环境中的所有数据。

次要:您不必在关闭之前检查您的环境是否打开。

如果您不太关心应用程序状态,那么您可以设置exodus.env.closeForcedly环境创建选项:

Environment env = Environments.newInstance("db path", new EnvironmentConfig().setEnvCloseForcedly(true));

在这种情况下,close()方法会在日志中报告当前未完成事务的数量,并且无论如何都会关闭环境。


推荐阅读