我需要一种关闭Xodus环境的方法,以便
到目前为止,我们尝试了类似的方法
if (env.isOpen()) {
env.clear();
env.close();
}
但是我不确定它做的是否正确,我仍然会不时从env.close()
抛出异常。那么正确的方法是什么?
答案 0 :(得分:1)
首先,请注意Environment#clear()
只会清除您环境中的所有数据。
次要:您不必在关闭环境之前检查环境是否处于打开状态。
如果您不太关心应用程序状态,则可以在创建环境时设置exodus.env.closeForcedly
选项:
Environment env = Environments.newInstance("db path", new EnvironmentConfig().setEnvCloseForcedly(true));
在这种情况下,close()
方法会在日志中报告交易时尚未完成的数量,并且无论如何都会关闭环境。