我有一个Spring应用程序,它使用Neo4j图形数据库和Postgresql关系数据库。两个数据库都支持事务。
使用Spring@Transactional注释和适当的transactionManager属性分别处理每个数据库上的事务没有问题。
但是我有很多方法同时处理neo4j db和postgresdb上的数据。这样的操作应该是事务性的,所以我想“合并”那些单独的事务。我的意思是,如果smth在一个数据库引擎上失败,那么另一个也应该回滚自己的事务。
有没有什么库或工具可以帮助我实现这个目标?还是我必须自己实施?
提前谢谢!

最佳答案

您可以像下面这样使用ChainedTransactionManager

<bean id="transactionManager" class="com.springsource.open.db.ChainedTransactionManager">
  <property name="transactionManagers">
    <list>
      <!-- Postgresql Transaction Manager -->
      <bean class="org.springframework.jdbc.datasource.DataSourceTransactionManager"/>
      <!-- Neo4J Transaction Manager -->
      <bean class="org.neo4j.ogm.session.transaction.TransactionManager"/>
    </list>
  </property>
</bean>

关于java - Neo4j + Postgres常见交易,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48743582/

10-11 22:20
查看更多