前言
tomcat7開始,tomcat支持應用的多版本部署,這個特性很不錯,尤其是生產環境中,升級應用,無需重啟tomcat,升級過程不影響業務。熱升級的特性,也只有少數頂級商業中間件能做到。
?
tomcat的并行部署
tomcat7開始,可以同時部署相同context path的多個不同版本的web應用,現在只能通過tomcat manager使用
WAR file to deploy
,才能做到多版本同時部署。war包的命名只能是
context.war
,?
context##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信息,所以是訪問最新版本的應用)
?
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
