我有一個現有的Java應用程序(基於Spring),目前沒有一個網絡界面,也沒有在Web容器中運行。它與啓動程序很好地包裝在一起,並且正常工作。添加一個網絡接口(Spring MVC的),以現有的Java應用程序
我需要做的是爲某些管理類型的事物添加一個管理Web界面,檢索實時指標,也許有些圖表讓用戶知道一切正常工作時的溫暖模糊感覺。因爲我們是一家Spring商店,而且我們的一些Web應用程序已經使用Spring MVC,所以它只對我們有意義,但是我對我內部Spring人員提出的關於我應該如何處理的建議感到不滿意。
什麼是狼吞虎嚥這個web界面上的理想方式?
- 將我的應用程序轉換爲一個Web應用程序,並有一個Web容器啓動應用程序。我不太喜歡這種方法,Web層實際上是主要應用程序的次要部分。
- 創建一個單獨的項目打包成一個WAR文件中嵌入了Jetty在我現有的應用程序,並把它加載了戰爭。我想我可以使用上下文加載器監聽器將我的應用程序的根上下文作爲父應用程序的上下文。這將涉及將我的Maven項目分解成兩個我相信的項目。由於我的主應用程序未啓用Web,因此我無法使用現有的Web技術在Web層和主應用程序之間進行通信。
- 嵌入碼頭,直接把Spring MVC的東西在我的應用程序。雖然我之前已經完成了這個方法,但確實涉及到一些醜陋 - 例如將JSP標記庫炸開到我的jar中。
在這裏一些乾淨的分離有什麼想法?
另外值得注意的是,我現在的罐子包含一些shell腳本推出一些實用的應用程序。走一條純粹的WAR路線會讓事情變得不那麼容易,因爲我不能在我的戰爭文件中指出java並選擇一個類來執行。
謝謝。
關於JMX的很好的一點。我會進一步研究。 – Jason