tomcat的熱部署

java熱部署與熱加載,以及配置tomcat實現熱部署的方式

一、熱部署與熱加載java

在應用運行的時候升級軟件,無需從新啓動的方式有兩種,熱部署和熱加載。web

它們之間的區別是:tomcat

(1)、部署方式: 服務器

熱部署在服務器運行時從新部署項目。app

熱加載在運行時從新加載class。eclipse

(2)、實現原理webapp

熱部署直接從新加載整個應用,這種方式會釋放內存,比熱加載更加乾淨,可是它比熱加載更加的浪費時間。性能

熱加載在運行時從新加載class,主要使用的是類加載機制,在實現方式上就是在容器啓動的時候起一條後臺線程,定時的檢測類文件的時間戳變化,若是類的時間戳發生變化,則將類從新載入。spa

(3)、使用場景.net

熱部署更多的是在生產環境中使用,就是適用於頻繁的部署而且啓動耗時長的應用、沒法中止服務的應用等。

熱加載則更多的是在開發環境中使用,用於開發,debug中,能夠大大的提升開發效率。

二、熱加載的應用:

struts2中的熱加載應用:

在struts2中熱加載即開發者模式,在struts.xml配置

<constant name="struts.devMode" value="true" />     

這是開啓開發者模式,每次更改代碼不須要重啓服務器就能夠進行調試。

三、配置tomcat實現熱部署與熱加載的方式

(1)、在tomcat的webapps中新建一個與項目名相同的文件,並把項目下WebContent文件夾下的內容剪切到剛剛新建的文件夾中。這是tomcat自帶的熱部署。

(2)、在tomcat\conf\server.xml中的Host標籤中加上一個配置。

<Context docBase="D:/test/web" path="/hot" privileged="true" reloadable="true"/>

path:指定訪問該web應用的URL進口

docBase:指定web應用的文件路徑,能夠給定絕對路徑,也能夠給定相對於<Host>的appBase屬性【默認指向tomcat的webapps】的相對路徑;要是Web應用是個war文件,則指定war文件的路徑。 

reloadable:要是這個屬性設置爲true,Tomcat服務器在運行情況下會監視在WEB-INF/classess和WEB-INF/lib目次下的class文件的改動,以及監視web應用的WEB-INF/web.xml文件的改動。要是檢測到的class文件或者web.xml文件被更新,服務器會自動加載Web應用。該屬性的默認值爲false.在web應用的開發和調試階段,把reloadable設爲true,能夠方便對web應用的調試。在web應用正式發佈階段,把reloadable設爲false,能夠減低tomcat的運行負荷,提升Tomcat的運行性能。 

(3)、在tomcat\conf\catalina\localhost中添加一個xml文件

hot.xml

<?xml version="1.0" encoding="UTF-8"?>  
<Context docbase="D:/test/web" reloadable="true"/>  

服務器會使用xml文件的名字做爲URL路徑

eclipse經過tomcat熱部署web項目

雙擊tomcat,打開tomcat的配置界面,按以下幾個步驟配置eclipse熱部署: 

單擊「Overview」選項卡

展開「Server Options」,勾選「Serve modules without publishing」選項

展開」publishing「,勾選」Automatically publish when resources change「選項。這個配置是用來熱部署資源,如:JSP,XML和properties文件等。(默認是勾選的)

 單擊」Modules「選項卡,確保」Auto Reload「是被禁用的

<Context docBase="logistics-manage-web" path="/logistics-manage-web" reloadable="true" source="org.eclipse.jst.jee.server:logistics-manage-web"/>

以DEBUG模式啓動tomcat,熱部署在DEBUG模式下才可用

 

參考文章:https://blog.csdn.net/zhang854429783/article/details/50086923

              https://blog.csdn.net/haha_66666/article/details/78821498

相關文章
相關標籤/搜索