2

我正在研究 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

4

0 回答 0