我正在編寫一個Eclipse RCP應用程序,我正在嘗試使用單獨的數據庫進行測試以防止損壞我的生產數據庫。在安裝測試數據庫期間,我需要執行一個sql文件來填充測試數據。如何在Eclipse中使用單獨的數據庫進行生產和測試RCP應用程序
有沒有辦法告訴應用程序使用不同的數據庫並執行特定的SQL腳本(也許通過啓動屬性或可能是碎片或其他)?
謝謝
我正在編寫一個Eclipse RCP應用程序,我正在嘗試使用單獨的數據庫進行測試以防止損壞我的生產數據庫。在安裝測試數據庫期間,我需要執行一個sql文件來填充測試數據。如何在Eclipse中使用單獨的數據庫進行生產和測試RCP應用程序
有沒有辦法告訴應用程序使用不同的數據庫並執行特定的SQL腳本(也許通過啓動屬性或可能是碎片或其他)?
謝謝
我發現並正在使用不同的方法,現在更多的RCP-ish恕我直言。我定義了一個片段來覆蓋數據庫道具並替換主機插件中的虛擬查詢文件。然後我定義了兩個特性 - 一個用於片段測試,另一個用於沒有片段的製作特性。然後使用不同產品的功能 - 一個用於生產,一個用於測試。工作正常
對於RCP我通常使用某種類型的屬性文件。在它內部,我會指定諸如要使用的DB和啓動腳本之類的東西(如有必要)。隨着應用程序的增長,這種方法將非常值得。
您的應用程序將接受像Eclipse可執行文件這樣的參數。你可以在你的應用程序的ini文件中指定的參數(在Eclipse是的eclipse.ini,您可以將其重命名爲您的應用程序)在
-vmargs
-Dkey=value
形式可以通過讀取這些值System.getProperty
在某些平臺上,您應該也可以從命令行接受這些參數。
這一個也可以工作,甚至比配置文件更簡單,一個syou dac定義了args產品。我唯一不喜歡的東西就是一個審美的東西,意見的問題。我想要一個更「密不透風」的解決方案,只依靠RCP技術。雖然 – kostja 2010-09-16 07:17:17
聽起來像OSGi服務的完美用例。
聽起來很有意思,但有效的答案很有意思。你能否詳細說明一下? – kostja 2010-09-25 06:40:45
開發一個連接到數據庫的包,進行一些初始化(如果需要執行一些SQL),然後作爲javax.sql.DataSource接口下的服務發佈。現在您的應用程序包可以訪問數據庫,而不必關心它是生產還是測試。要切換,請部署不同版本的數據庫連接器捆綁軟件(或使用標準的Config Admin服務進行配置)。 – 2010-10-02 14:28:51
和你的持久性包在啓動時讀取這個prop文件,我想?這將工作,但必須編輯或切換生產/測試啓動這是我正在試圖避免的prop文件。我想要做的是生成單獨的啓動或產品文件來指定道具或相應片段「一勞永逸」 – kostja 2010-09-14 16:58:32