精华 使用Spring Data Neo4j(SDN)多数据源连接多个Neo4j数据库实例 (本文未完待续)
发布于 5 年前 作者 pangguoming 3926 次浏览 来自 分享

概述

在做应用级项目开发时,有时需要同时从一个应用程序中连接到不同的数据源。在做Neo4J相关开发时也会有这样的需求,本文将介绍,如何在Spring Boot项目中使用 SDN配置连接多个Neo4j数据库实例 实例源码https://github.com/michael-simons/neo4j-sdn-ogm-tips/tree/master/examples/using-multiple-session-factories 本文原文https://michael-simons.github.io/neo4j-sdn-ogm-tips/using_multiple_session_factories.html?tdsourcetag=s_pctim_aiomsg

问题

我想在Spring Boot应用程序中通过不同的Neo4j-OGM会话工厂使用不同的Neo4j实例。 我有几个域,每个域都有自己的实体类和存储库,每个域都有自己的Neo4j实例。 我添加了Spring Boot Starter Data Neo4j,但它只允许一个连接,我的所有存储库都使用它。

解决方案

为此,你需要Spring Boot 2.x和Spring Data的最新版本,它被称为Spring Data Lovelace(RC1)。 在start.spring.io生成的标准Spring Boot 2应用程序中,您将使用以下属性更改Spring Data Release系列: pom.xml

 <properties>
         <spring-data-releasetrain.version>Lovelace-RELEASE</spring-data-releasetrain.version>
 </properties>
 

然后解决方案可以分解为两个问题 1.通过重用Spring Boot中用于配置Spring Data Neo4j的Neo4jProperties,提供与Neo4j的多个连接。 2.配置Spring Data Neo4j的session factory。

实现代码

以下代码位于本文示例项目using-multiple-session-factories/Domain1Config.java和Domain2Config.java中。 Spring Boot应用程序使用以下配置 application.properties

# Configuration for entities and repositories in "domain1"
spring.data.neo4j.username = neo4j
spring.data.neo4j.password = domain1
spring.data.neo4j.uri = bolt://localhost:7687

# Configuration for entities and repositories in "domain2"
spring.data.neo4j.domain2.username = neo4j
spring.data.neo4j.domain2.password = domain2
spring.data.neo4j.domain2.uri = bolt://localhost:7688
4 回复

我们也是这么实现的。。。。

@bingo 翻译的国外文章

请问原文章可有链接?

@yisyis 我把原文地址贴上面了

回到顶部