2011-06-22 95 views
3

在我的應用程序中,我希望我的用戶能夠在首次啓動應用程序時配置其db-properties。 db-屬性將被存儲在一個屬性文件本地,並且spring將來會使用這個文件進行db-setup。Spring:動態更新數據庫配置

工作流將是這樣的:

  1. 首次開始應用 - > 2.顯示用分貝構形式 一個頁面 - > 3.用戶提交表單且輸入是寫入db屬性文件本地 - > 4. spring從屬性文件讀取db-properties並實例化數據源,transaction-nmanager,entitymanager-factory等等。

所以我們面臨的挑戰是如何在沒有任何db-setup的情況下啓動spring,然後在提交表單時不重新啓動服務器就動態實例化它。

有什麼建議嗎? :-)

+0

這是一個網絡應用程序?你希望*每一個用戶能夠配置數據庫道具,或只是管理員,當他設置應用程序並使用它的第一次? – Qwerky

+0

設置應用程序時的管理員 –

回答

1

您可以使用Spring的Java Config而不是XML來以編程方式實例化bean。這將允許您閱讀屬性文件。

+0

當然,但我想這個解決方案要求服務器第一次啓動時使用一些「虛擬」設置作爲db配置。這會拋出一些糟糕的例外。用戶名,密碼,數據庫名稱等將在服務器啓動後指定並保存在屬性文件中。所以我的目標是在沒有任何db設置的情況下啓動spring,然後實例化並使用數據源,entetiymanager-factory等,而無需重新啓動服務器。 –

+0

我不認爲它需要虛擬設置。只有在獲得用戶的屬性之前,才能啓動大部分Spring上下文。 – artbristol