0

我正在使用存储库方法开发一个基于 Spring Data Neo4j 的项目。问题是我不能同时读取和写入图表(这在我的应用程序中是必需的),否则我会收到此错误。我的 Neo4j 服务器实例没有运行,但我有不同的进程正在尝试使用数据库(即:相同的应用程序上下文以不同的主要方法加载,这可能是问题所在,我不知道)。我习惯了关系数据库,几乎不理解这种行为。哪个是摆脱这个问题的最佳方法?或者,真的有可能吗?

这是我的应用程序上下文文件的一部分:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xmlns:context="http://www.springframework.org/schema/context"
          xmlns:mongo="http://www.springframework.org/schema/data/mongo"
          xmlns:neo4j="http://www.springframework.org/schema/data/neo4j"
          xsi:schemaLocation=
          "http://www.springframework.org/schema/context
          http://www.springframework.org/schema/context/spring-context-3.0.xsd
          http://www.springframework.org/schema/data/mongo
          http://www.springframework.org/schema/data/mongo/spring-mongo-1.0.xsd
          http://www.springframework.org/schema/beans
          http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
          http://www.springframework.org/schema/data/neo4j
          http://www.springframework.org/schema/data/neo4j/spring-neo4j-2.0.xsd">

          <!-- Neo4j -->
          <neo4j:config storeDirectory="/data/production/graph.db"/>
          <neo4j:repositories base-package="org.domain.project.repositories.neo4j"/>

在这种情况下,我可以在我的自定义 neo4j 存储库实现中访问 neo4jOperations 接口并毫无问题地构建查询。另一方面,当前用户有权访问数据文件夹,所以这应该不是问题。

4

1 回答 1

0

您不能从两个进程写入同一个 Neo4j 数据库。相反,您应该设置一个 Neo4j HA 集群,并使用其中一个集群实例作为 SDN 的嵌入式数据库。复制等将对您的应用程序透明。有关详细信息,请参阅https://groups.google.com/forum/?fromgroups=#!topic/neo4j/6mxSvhemd8M

于 2013-04-08T12:37:09.833 回答