天天看點

tomcat多版本war應用部署(執行個體講解)

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

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

當使用者使用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。

上傳成功後,可以看到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資訊,是以是通路最新版本的應用)

轉自http://www.cnblogs.com/ggjucheng/archive/2013/04/16/3024450.html