Spring Data Neo4j Transaction不能与Neo4j服务器一起使用

时间:2013-10-31 22:19:06

标签: neo4j spring-data-neo4j

我正在研究spring-data和neo4j,我遇到了事务问题。

这是我的弹簧配置:

<context:spring-configured/>
<context:annotation-config/>

<context:component-scan base-package="fr.simple.nosqltest" />

<neo4j:repositories base-package="fr.simple.nosqltest"/>

<!-- Neo4j configuration (creates Neo4jTemplate) -->
<neo4j:config graphDatabaseService="graphDatabaseService" />


<!-- For unit tests : 
With these two following lines (uncomment them to test), datas are well recorded   in directory database
and rollback on failed transaction works -->
<!--    <neo4j:config storeDirectory="target/neo4j-db"/>  -->
<!--     <tx:annotation-driven mode="proxy"/> -->

<!--    But in a real world, I would like to use a Neo4J server. -->
<!--    Rollbacks are not working with this following configuration :  -->
<bean id="graphDatabaseService"
    class="org.springframework.data.neo4j.rest.SpringRestGraphDatabase">
    <constructor-arg value="http://localhost:7474/db/data/" />
</bean>
<tx:annotation-driven mode="aspectj" transaction-manager="transactionManager"/>

正如我在Spring配置文件中的评论中所说,当我运行单元测试时,事务处理正常:

neo4j:config storeDirectory="target/neo4j-db"

但不是当我尝试运行相同的代码但使用真正的neo4j服务器时。我尝试了很多关于如何编写tx:annotation-driven标签的组合,但没有任何工作。我在互联网上找不到解决方案,但我找到的所有例子都没有neo4j服务器。

你能帮我配置一下这个框架的交易吗?我在github上发布了我的代码:https://github.com/clement94/spring-neo4j-test

0 个答案:

没有答案