2009-08-20 97 views
1

我只是在研究這個想法,所以沒有示例代碼。我一直在網上挖掘,但我不確定我應該找什麼,所以我沒有找到太多東西。所以我想我會問,看看有沒有人知道a)這是可能的。 b)我該怎麼做。 (或至少我應該期待學習要做到這一點。)基於部署的罐子動態創建導航菜單

我正在建立一個Web應用程序,使用運行J2EE的JBoss服務器在客戶端上使用JSP頁面,中間有一個Tomcat Web服務器。

基本上,該應用程序包含不同的部分,隨着時間的推移,這些部分將隨着時間的推移而展開,並且客戶可能會使用不同的部分組合。我能想到的最簡單的部署方式是將每個部分構建到它自己的jar中。然後根據與客戶相關的部分的組合,在JBoss服務器上僅安裝所需的JAR進行部署。

爲了支持這一點,我希望客戶端導航菜單隻顯示基於JBoss服務器上部署內容的可用部分。我的servlet可以找出服務器上部署的內容嗎?我希望解決方案儘可能「啞巴」,即我不想告訴它要尋找什麼,(除了識別我們的罐子的前綴),因爲我還不知道我們可能的一切建立。

我目前的解決方案是在數據庫中有一個表格來存放已安裝部分的列表。但是這需要更新腳本等安裝過程中,我相信我們應該能夠通過在服務器上部署jar來做到這一點。

在此先感謝。

+0

感謝您的快速回復傢伙。我沒有想到清單。偉大的提示。 – javadeveloper 2009-08-21 07:47:53

回答

0

你可以將此信息添加到MANIFEST.MF文件,然後枚舉所有文件在你的web應用(見this answer如何列出所有艙單)當您啓動。

0

我通過爲我的應用程序配置「插件目錄」設置來做類似的事情。然後它會定期掃描該目錄中的Jars。它在清單中查找特定的元數據,以確定Jar是否實際上是一個有效的插件,以及從中加載哪個類(該類的靜態初始化程序嚮應用程序註冊該插件)。

然後你需要做的就是在該目錄中放置一個新的Jar來添加它的功能。