我有一個用戶可以連接到不同的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