0

标题说明了一切。我知道你可以graphDb.shutdown()在数据库上调用 a ,它说你应该在那之后删除所有引用,但是有没有一种编程方式来确定图形数据库的状态,看看它是否已关闭?

4

3 回答 3

2

尝试GraphDatabaseService.isAvailable(long timeout)

“使用此方法检查数据库是否处于可用状态。如果数据库当前不处于可用状态,您可以提供超时等待它变为可用状态。如果数据库已关闭,则立即返回 false。 "

我相信超时以毫秒为单位。

于 2014-06-24T20:29:08.220 回答
1

我认为你能得到它的唯一方法是使用反射。对于例如 EmbeddedGraphDatabase,您可以像这样得到它:

final Field life = InternalAbstractGraphDatabase.class.getDeclaredField("life");
life.setAccessible(true);
System.out.println(((LifeSupport) life.get(db)).getStatus());
于 2013-02-21T08:17:46.173 回答
-1

在 linux 服务器控制台中时,您可以使用此命令:(也可以在 Windows 上使用)

neo4j-community-1.9.M04/bin$ ./neo4j status
Neo4j Server is not running

将任何高级语言与 REST 一起使用时的解决方法,您可能想要简单地curlwget实例通常在其上运行的特定 url。如果您没有返回数据,您就知道它已关闭。

于 2013-02-21T11:12:59.320 回答