2013-01-22 57 views
0

尋找關於設置Tomcat和應用程序以讀取應用程序和全局變量數據庫的意見。我們正在開發一款應用程序,讓開發人員和網絡技術人員配置網絡應用程序和服務這個想法的出現是因爲開發人員不應該關心他們的應用程序在哪個服務器上,並且需要確保web.xml和context.xml對於每個環境都是正確的。Tomcat應用程序和全局變量存儲在數據庫中。用於維護服務器和應用程序的管理器應用程序

我們希望將所有服務器,環境和變量保存在數據庫中,我們的管理器應用程序將允許開發人員輕鬆設置應用程序變量和全局tomcat變量。這個應用程序還將允許Jenkins獲得部署和構建應用程序所需的parms。

有什麼想法?有沒有辦法或共享軟件來做到這一點?

謝謝。

回答

2

就我的意見而言,我認爲它對於某些部署可能是一個非常好的主意。我已經在我們這樣做過的項目中工作,就像你建議的一樣:有一組「環境變量」(我使用引號,因爲它們不是真正的sysEnv變量,而只是數據庫中的數據)存儲在數據庫中,那麼對於每個部署環境,我們都會讓應用程序讀取這些應用程序並相應地部署自身。

我們完成這個的另一種方式是實際使用系統環境變量。這對Java非常有用,因爲你有一個通用的API來閱讀那些不關心你所在操作系統的API。如果要設置的變量數量不是很大,則實現起來會更快:不需要安裝數據庫,不需要創建/更新其模式以存儲所述變量,只需製作特定於操作系統的腳本即可配置他們在每個環境。另一個優點是,通過這種方式,您可以在同一臺機器上創建多個用戶,每個用戶都有一組不同的變量值,並且只需將您的應用程序部署到某個用戶以使其適用於該組變量(具有用戶喜歡整合,前期製作等)。

後者的缺點是當你有非常多的變量時。在這種情況下,爲模式創建/更新和數據插入創建一些數據庫實例並創建(一個公共)腳本可能比創建龐大的,特定於操作系統的腳本更簡單。

+0

謝謝Shivan。我們計劃使用初始化servlet來讀取數據庫。這是你如何實現它?也許Web服務或直接數據庫讀取? –

+0

實際上,我們已經使用此設置的網站應用程序不止。對於Web應用程序,我們通常使用上下文或會話偵聽器(因此,每個新部署和/或每個新用戶分別訪問該應用程序將重新讀取這些變量)。我們也有命令行工具(比如各種Java批處理),我們爲其創建了一個通用的「SettingsReader」庫,它可以從env變量中讀取配置信息,但也可能具有會覆蓋某些變量的配置文件。 –

相關問題