【问题标题】:Neo4j: lock storeNeo4j:锁存储
【发布时间】:2013-04-08 11:21:41
【问题描述】:

我正在使用存储库方法开发一个基于 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 接口,并毫无问题地构建查询。另一方面,当前用户拥有访问数据文件夹的权限,所以这应该不是问题。

【问题讨论】:

    标签: neo4j spring-data-neo4j


    【解决方案1】:

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

    【讨论】:

    • 是否会使用 REST API(服务器实例在可到达的地方运行)另一种选择?
    • @Turquesa 是的,它允许多个客户端编写,但是在使用 REST api 时您会放弃某些东西,例如您管理事务的能力。
    • 好的,那么这对我来说不是一个有效的解决方案,因为在某些时候我需要使用 Neo4j Java API 本身来进行大量插入并且我正在管理事务(存储库中的保存方法引入了巨大的开销)。感谢您的 cmets。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-26
    相关资源
    最近更新 更多