所以我基本上就这样做了。
OObjectDatabaseTx result = OObjectDatabasePool.global().acquire( "local:orientdb", "admin", "admin");
//dostuff
result.close;
问题在于,当我重新部署我的webapp(不重新启动Java EE容器)时,我收到了以下错误:
com.orientechnologies.orient.core.exception.OStorageException: Cannot open local storage 'orientdb' with mode=rw
我解释为“Tomcat仍然有来自最后一个应用程序的文件锁”。
所以我的问题是如何在这种情况下彻底退出?我试过了:
OObjectDatabasePool.global().close()
和
new OObjectDatabaseTx("local:orientdb").close()
但似乎都不起作用。有任何想法吗?关于这个问题的文档并不完全清楚。
答案 0 :(得分:4)
将属性“storage.keepOpen”设置为false:
java ... -Dstorage.keepOpen=false ...
或通过Java代码:
OGlobalConfiguration.STORAGE_KEEP_OPEN.setValue( false );