tomcat多版本war應用部署(實例講解)


前言

tomcat7開始,tomcat支持應用的多版本部署,這個特性很不錯,尤其是生產環境中,升級應用,無需重啟tomcat,升級過程不影響業務。熱升級的特性,也只有少數頂級商業中間件能做到。

 

tomcat的並行部署

tomcat7開始,可以同時部署相同context path的多個不同版本的web應用,現在只能通過tomcat manager使用WAR file to deploy,才能做到多版本同時部署。war包的命名只能是context.warcontext##2.war,context##3.war之類。

當用戶使用http://localhost:8080/context訪問時,規則如下:

如果當前請求沒有session信息,則使用最新的war應用版本

如果當前請求有session,使用session對應的war應用版本

如果當前請求有session信息,卻找不到相應的war應用版本,則使用最新的war應用版本

 

 

使用實例

作為開發人員,我開發了一個web應用,web應用是一個war包,里面有一個index.jsp,簡單執行了out.print("jsp hello 1")。項目開發完畢后,web應用打包為myapp##1.war。

訪問http://localhost:8080/manager/ ->Deploy ->WAR file to deploy->Select WAR file to upload->選擇myapp##1.war->點擊Deploy

上傳成功后,可以看到Applications新增一個path為myapp,Version為1的應用。

使用google瀏覽器訪問http://localhost:8080/myapp/index.jsp,可以看到頁面顯示jsp hello 1

由於需求變更,需要把頁面顯示修改為jsp hello 2,修改代碼后,打包web應用為myapp##2.war。

重新上傳,可以看到Applications新增一個path為myapp,Version為2的應用。

使用google瀏覽器訪問http://localhost:8080/myapp/index.jsp,可以看到頁面顯示jsp hello 1(因為session信息對應版本1的應用,所以還是訪問版本1的應用)

然后再新開火狐瀏覽器,訪問http://localhost:8080/myapp/index.jsp可以看到頁面顯示jsp hello 2(因為沒有session信息,所以是訪問最新版本的應用)

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM