我想用WildFly AS在JSF + Spring Framework中創建Java EE應用程序。其中一個熱門要求是: 即插即用模塊這意味着如果我更新我的應用程序或添加新的模塊到我的應用程序。 (顯然更新bean.xml,web.xml,POJO類,罐子等) 然後,不重新部署我的* .war文件,並與重新啓動我的Wildfly AS更改發生。即插即用Java EE應用程序
-1
A
回答
3
這是一個複雜的要求,原因有幾個。您將如何處理對您的數據庫模式/實體模型的更改?您將如何處理升級時正在進行的會話,並積極使用「舊」代碼?您如何處理對容器託管代碼的更改,僅在部署時由容器管理的代碼,例如新的EJB等?
我在生產中看到的一種方法是實現應用程序版本控制和完全模式向後兼容性的滾動更新。這是在代理服務器前端的集羣環境中完成的,它可以允許使用舊版本應用程序的活動會話繼續,直到完成,並確保新會話轉到包含新版本代碼的服務器/上下文。因此,最終您仍然部署包含新版代碼的WAR,並在所有舊會話結束/過期時最終取消部署舊版本。爲此,您必須承擔代碼中的負擔,以便在新版本引入更改時完全支持您的模型的兩個同時版本。這不是一個微不足道的負擔。您還必須承擔額外基礎設施的負擔,才能適當地路由會話。
我知道像JRebel這樣的產品可以讓你對代碼進行熱部署(甚至像EJBs這樣的想法),它的想法是縮短開發/測試周期,但我沒有看到它在開發環境之外使用。此外,您仍然需要處理在舊版本/型號上啓動的活動會話。
相關問題
- 1. 無需啓動即可部署Java EE應用程序
- 2. 立即重新部署Java EE應用程序
- 3. 如何構建即插即用MVC應用程序?
- 4. 如何在PHP中構建即插即用應用程序?
- 5. 打包基於JavaScript的即插即用應用程序
- 6. Netbeans IDE 7.0 Web應用程序不支持Java EE 6開箱即用?
- 7. 如何使Java EE應用程序無需虛擬主機即可聯機?
- 8. Java桌面應用程序和Java EE?
- 9. USB即插即用模擬
- 10. 使用Java EE應用程序的STS
- 11. Java EE應用程序中的線程
- 12. 是否可以自動運行即點即用應用程序?
- 13. 使用Kamailio進行即按即說Android應用程序
- 14. 發佈android應用程序插件作爲即時應用程序
- 15. Java EE,通信Web應用程序和桌面應用程序
- 16. Java EE應用程序設計
- 17. Eclipse中的Java EE應用程序
- 18. Java EE Web應用程序防火牆
- 19. Java EE 6應用程序中的SocketException
- 20. tomcat中的Java EE應用程序
- 21. Capistrano for Java(EE)Web應用程序
- 22. Java EE應用程序設計
- 23. Java EE應用程序堆問題
- 24. Android應用程序與java ee後端
- 25. 尋找一個Java EE應用程序
- 26. 集成在Java EE應用程序
- 27. Java EE應用程序啓動失敗
- 28. 鎖定在Java EE應用程序中
- 29. BizTalk的Java EE應用程序
- 30. OSGi的Java EE 6應用程序