我有一个用户可以连接到不同的neo4j数据库的用例。我正在使用弹簧数据。我的配置如下所示:重新连接到Neo4j REST服务
@Configuration
@ComponentScan("org.inno")
@EnableTransactionManagement
@EnableNeo4jRepositories("org.inno.dao")
public class AppConfig extends Neo4jConfiguration {
public AppConfig() {
setBasePackage("org.inno.model");
}
@Bean
@Lazy
public GraphDatabaseService graphDatabaseService() {
//url may change based on the user preferences
String url = "http://localhost:7474/db/data/";
return new SpringRestGraphDatabase(url);
}
}
我使用GraphDatabaseService作为存储库。
我的问题:如何在运行时连接到不同的数据库?我不是在谈论应用程序的启动。在那里我可以使用Preferences API。我正在谈论一个用例,我已经连接到服务器但想切换到另一个服务器。不幸的是,该服务仅提供关闭方法,但没有重新连接到另一个URL。我是否必须通过访问ApplicationContext销毁GraphDatabaseService的bean?还是有另一种方式?
您可以将第二个URL定义为第二个bean。您应该也许也使用SpringCypherRestGraphDatabase –
是的,我知道SpringRestGraphDatabase已被弃用,它只是一个示例。但是你的建议意味着我只能切换一次不同的URL。 – Spindizzy