我正在使用存储库方法开发一个基于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接口,并且可以毫无问题地构建查询。另一方面,当前用户有权访问数据文件夹,因此这应该不是问题。
答案 0 :(得分:0)
您无法从两个程序写入同一个Neo4j数据库。相反,您应该设置Neo4j HA群集,并使用其中一个群集实例作为SDN的嵌入式数据库。然后,复制等对您的应用程序是透明的。有关详细信息,请参阅https://groups.google.com/forum/?fromgroups=#!topic/neo4j/6mxSvhemd8M。