我知道那里有一些类似的话题,但没有一个能给出解决方案。那么,如果使用Spring-data-neo4j,有没有办法连接到多个图形?不是具有不同标签的相同实例中的图形。
或者等效地,我可以问这个问题:
如何配置spring-data-neo4j以在不同端口上为不同的Neo4j实例提供多个会话。
感谢。
修改
感谢@Hunger,我想我向前迈了一步。现在的问题是:如何使spring-data-neo4j具有多个'PereistenceContext',并且每个都引用一个单独的Neo4j实例。
答案 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();
}
}