2016-01-26 57 views
0

我有這種情況:在多個mongo數據庫中複製了相同的數據庫結構(相同集合)。這意味着我爲每個集合(Document)都有一個mongo存儲庫。Spring Data Mongo - 動態更改存儲庫模板

現在我需要通過相同的控制面板應用程序管理這些數據庫,動態地連接它們中的每一個,並使用相同的存儲庫類(數據庫相同)。

我知道我可以指定已知的存儲庫模板,如post中所述,但這意味着我必須知道啓動時數據庫的連接屬性。我怎樣才能實現它的動態行爲呢?

回答

1

你可能想要看的核心接口是MongoDBFactory。您可以通過覆蓋AbstractMongoConfiguration中的或XML中的普通bean定義來提供自定義的定義。

要在不同的數據庫之間進行透明切換,只需跟蹤實施中選擇的那個數據庫並根據該數據返回一個DB實例。

+0

是否有可能不僅更改數據庫而且更改存儲庫?我的意思是一個不同的monogdb主機。我可以在運行時創建一個新的monogTemplate並將其映射到存儲庫接口嗎? – user3344591