Spring-data-neo4j多个图

时间:2016-04-01 00:55:59

标签: spring neo4j spring-data-neo4j

我知道那里有一些类似的话题,但没有一个能给出解决方案。那么,如果使用Spring-data-neo4j,有没有办法连接到多个图形?不是具有不同标签的相同实例中的图形。

或者等效地,我可以问这个问题:

如何配置spring-data-neo4j以在不同端口上为不同的Neo4j实例提供多个会话。

感谢。

修改

感谢@Hunger,我想我向前迈了一步。现在的问题是:如何使spring-data-neo4j具有多个'PereistenceContext',并且每个都引用一个单独的Neo4j实例。

2 个答案:

答案 0 :(得分:1)

您可以使用声明指向不同数据库的不同REST-API配置不同的应用程序上下文。

您不应该混合来自这些不同数据库的对象或会话。 所以你可能需要注射限定词。

答案 1 :(得分:0)

如何进行多项配置:

//First configuration
@Configuration
@EnableNeo4jRepositories(basePackages = "org.neo4j.example.repository.dev")
@EnableTransactionManagement
public class MyConfigurationDev extends Neo4jConfiguration {

 @Bean
 public Neo4jServer neo4jServer() {
    return new RemoteServer("http://localhost:7474");
 }

 @Bean
 public SessionFactory getSessionFactory() {
    // with domain entity base package(s)
    return new SessionFactory("org.neo4j.example.domain.dev");
 }

 // needed for session in view in web-applications
 @Bean
 @Scope(value = "session", proxyMode = ScopedProxyMode.TARGET_CLASS)
 public Session getSession() throws Exception {
    return super.getSession();
 }
}

和另一个

//Second config
@Configuration
@EnableNeo4jRepositories(basePackages = "org.neo4j.example.repository.test")
@EnableTransactionManagement
public class MyConfigurationDev extends Neo4jConfiguration {

 @Bean
 public Neo4jServer neo4jServer() {
    return new RemoteServer("http://localhost:7475");
 }

 @Bean
 public SessionFactory getSessionFactory() {
    // with domain entity base package(s)
    return new SessionFactory("org.neo4j.example.domain.test");
 }

 // needed for session in view in web-applications
 @Bean
 @Scope(value = "session", proxyMode = ScopedProxyMode.TARGET_CLASS)
 public Session getSession() throws Exception {
    return super.getSession();
 }
}