4

所以我基本上是这样做的。

OObjectDatabaseTx result = OObjectDatabasePool.global().acquire( "local:orientdb", "admin", "admin");
//dostuff
result.close;

问题是,当我重新部署我的 web 应用程序(不重新启动 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()

但似乎都不起作用。有任何想法吗?文档在这个问题上并不完全清楚。

4

1 回答 1

4

将属性“storage.keepOpen”设置为 false:

java ... -Dstorage.keepOpen=false ...

或通过 Java 代码:

OGlobalConfiguration.STORAGE_KEEP_OPEN.setValue( false );
于 2013-08-27T15:25:39.947 回答