Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 需要重新启动neo4j以查看新数据_Java_Neo4j - Fatal编程技术网

Java 需要重新启动neo4j以查看新数据

Java 需要重新启动neo4j以查看新数据,java,neo4j,Java,Neo4j,我有一个java程序,可以在neo4j数据库中创建节点和关系。该程序运行良好,但当我试图查看web控制台以查询新节点时,它们不会出现在任何结果中。只有在我重新启动数据库neo4j stop和neo4j start之后,它们才会出现在结果中 是否存在我不知道的超时或缓存设置?您不能同时从嵌入式应用程序和服务器使用同一存储目录 如果你仍然想要这个,那么你可以 由于嵌入式代码非常简单,因此可以将其转换为针对服务器运行的参数化cypher语句。例如使用jdbc驱动程序 或者,您可以将代码移动到实现非托管

我有一个java程序,可以在neo4j数据库中创建节点和关系。该程序运行良好,但当我试图查看web控制台以查询新节点时,它们不会出现在任何结果中。只有在我重新启动数据库
neo4j stop
neo4j start
之后,它们才会出现在结果中


是否存在我不知道的超时或缓存设置?

您不能同时从嵌入式应用程序和服务器使用同一存储目录

如果你仍然想要这个,那么你可以

由于嵌入式代码非常简单,因此可以将其转换为针对服务器运行的参数化cypher语句。例如使用jdbc驱动程序


或者,您可以将代码移动到实现非托管扩展并提供用于导入文件的REST端点的服务器中。

您使用的是哪个版本的Neo4j?这听起来像是在Neo4j 2.0浏览器中使用Cypher清除数据库后应用不同草地样式后出现的错误。你能用一套简明的步骤重现这个问题吗?如果是,请提供这些步骤。我使用的是2.0.1版。我使用的步骤集是我正在运行的java程序。有几节课,有点长。我还有一个stackoverflow问题,我后来解决了,它包含了我正在运行的大部分代码。可以在这里找到:您的问题已经解决了,这是因为没有调用tx.success()方法来完成事务?这解决了我无法在数据库中存储任何内容的问题。调用tx.success()后,数据会一直保存在数据库中,但除非重新启动数据库,否则无法通过web控制台查看数据。这与之前发布的问题不同,因此出现了一个新问题:)您是否在windows上运行它?通常,Neo4j实现了几种方法来防止多个进程访问(读写)同一存储目录。因此,我对您的答案感到困惑,可能是因为我还没有在网上找到一些东西来描述这两者的不同操作,而不是为数据库提供不同的接口类型。此外,如果我正确地阅读了您的响应,您会说我不能通过Java或web控制台同时使用相同的数据存储。我可以这样做,但是我通过Java输入的数据在我重新启动服务之前不会显示在查询中。毫无疑问,只是没有完全理解或还没有完全理解差异(以及为什么数据库会以今天的方式运行)它表明JDBC不是我可以用来从Java程序访问数据库的东西,而是进入数据库的另一个控制台。您能否详细说明两者之间的差异,以及为什么在我通过嵌入式Java库添加数据时,数据会存在于数据库中,但在我重新启动它之前,我无法在控制台中看到它。JDBC是RickardÖberg和我为Neo4j实现的数据库连接库(协议)。因此,您可以连接到数据库,发送参数化查询和检索表格结果。您有没有示例说明我如何使用它而不是使用嵌入式数据库?看这一页,我不知道该怎么做。