1. 程式人生 > >熱部署與熱載入的配置

熱部署與熱載入的配置

在專案開發過程中,經常要改動Java/JSP 檔案,但是又不想從新啟動伺服器(伺服器從新啟動花時間),想直接獲得(debug)結果.有兩種方式熱部署 和熱載入:

 1.熱載入:在server.xml -> context 屬性中 設定 reloadable="true"

?
1<Context docBase="xxx" path="/xxx" reloadable="true"/>

2. 熱部署:在server.xml -> context 屬性中 設定  autoDeploy="true"

?
1<Context docBase="xxx" path="/xxx" autoDeploy=
"true"/>

 同樣可以:

1程式碼 複製程式碼 收藏程式碼

?
123456<Host name="localhost" appBase="webapps"unpackWARs="true" autoDeploy="true"xmlValidation="false" xmlNamespaceAware="false"> <Context docBase="xxx" path="/xxx"/>  </Host>

3.區別:

      熱載入:伺服器會監聽 class 檔案改變,包括web-inf/class,wen-inf/lib,web-inf/web.xml等檔案,若發生更改,則區域性進行載入,不清空session ,不釋放記憶體。開發中用的多,但是要考慮記憶體溢位的情況。

      熱部署: 整個專案從新部署,包括你從新打上.war 檔案。 會清空session ,釋放記憶體。專案打包的時候用的多。

 也可以通過Eclipse上設定實現上述配置檔案的修改

Eclipse的工程名右鍵: properties->Tomcat->General->Make this context as reloadable(reloadable="true")不要選中 Eclipse的工程名右鍵:Tomcat project->Update Context Definition

***、Tomcat熱載入配置

Eclipse Package Explorer中找到Servers,點選你所需要執行的tomcat的config配置檔案,例如 demo-config,雙擊該資料夾下的server.xml,可以看到如下內容:

<Host appBase="webapps" autoDeploy="false" name="localhost" unpackWARs="true" xmlNamespaceAware="false" xmlValidation="false">

<Context docBase="demo" path="/demo"reloadable="false" crossContext="true" source="org.eclipse.jst.jee.server:tnt_front"/></Host>

確保Host標籤中的autoDeploy設定為false,Context標籤中的reloadable設定為false

熱載入的方式必須保證eclipse以debug模式啟動專案才可以,切記!

二、修改檔案即時釋出到tomcat中

如下圖所示,Publishing中選擇第二項,保證Eclipse中修改java類和jsp等檔案會立即同步到Tomcat的webapps中對應專案中,使得jsp的修改可以立即呈現。


1.說一下自己的理解:

執行tomcat專案需要3步

1.打包並指定給tomcat

2.啟動tomcat

3.解壓war包並執行(第三步和第二步一起的)

2.熱部署

就是已經運行了專案,更改之後,不需要重新tomcat,但是會清空記憶體,重新打包,重新解壓war包執行

可能好處是一個tomcat多個專案,不必因為tomcat停止而停止其他的專案

 3.熱載入

是基於位元組碼進行更改的,不釋放記憶體,開發可用,上線不可用,比如修改類了,原先的類記憶體不會釋放,新的類還會增加記憶體.

更改位元組碼的意思是應該更改exploded war包中的.class檔案.

熱載入不重啟tomcat,不重新打包

4.更新靜態資源

更新靜態資源是更改exploded war的靜態資源,和熱載入歸到一起.


以上就是詳解tomcat熱部署和熱載入的兩種方法及區別,如有疑問請留言或者到本站社群交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支援!

相關推薦

部署載入配置

在專案開發過程中,經常要改動Java/JSP 檔案,但是又不想從新啟動伺服器(伺服器從新啟動花時間),想直接獲得(debug)結果.有兩種方式熱部署 和熱載入: 1.熱載入:在server.xml -> context 屬性中 設定 reloadable="true"?

Tomcat的部署載入

在應用執行時升級軟體,無需重新啟動的方式有兩種:熱部署與熱載入。 對Java程式來說,熱部署是在伺服器執行的時候重新部署專案,熱載入是在執行時重新載入class從而升級應用。 熱載入主要依賴Java的類載入機制,實現方式可概括為在容器啟動時起一條後臺程序,定時檢測類檔案的時間戳變化,若發現時間戳改變,則將

Spring Boot 部署日誌配置

熱部署和日誌是開發中常用的功能,Srping Boot同樣集成了相應的工具,可以方便地實現這些功能。 熱部署 Spring Boot提供了 spring-boot-devtools 模組用於熱部署,直接引入就行 <dependency>

springboot部署(二)——springboot部署發布

延遲 標簽頁 tools settings 通過 選擇 auto tex pid 一、實現的方式概述      註意以下的熱部署方式在IDEA是默認沒有打開自動編譯的,手動編譯需要快捷鍵(Ctrl+Shift+F9),自動編譯的修改配置如下:(註意刷新不要太快,會有1-

sprinbboot 部署 造成類載入器 不一致問題

這裡只說devtools的方式,注意以下的熱部署方式在IDEA是預設沒有開啟自動編譯的,手動編譯需要快捷鍵(Ctrl+Shift+F9), 自動編譯的修改配置如下:(注意重新整理不要太快,會有1-2秒延遲) File-Settings-Compiler-Build Project automatic

Tomcat部署載入的方法

想從新啟動伺服器(伺服器從新啟動花時間),想直接獲得(debug)結果.有兩種方式熱部署 和熱載入: 熱載入 在server.xml -> context 屬性中 設定 reloadable=“true” 熱部署 在server.xml -> context

詳解webpack中的重新整理載入的分別

webpack非常的強大,合理的腳手架可以為我們的工作省去眾多繁瑣無意義的工作。其中熱重新整理、熱載入相較於傳統開發大大提高了開發節奏。 從腳手架發現熱重新整理、熱載入的差異 相信大部分的vue開發者都是從vue-cli開始的,很多初學者歡快的跑著vue專案卻不敢改隨意改變vue-cl

Nginx+Tomcat+maven 部署專案及伺服器配置

前後端分離專案的部署實踐:     環境:Nginx,Tomcat7,Tomcat9,centOS7,macOS 1.Nginx,Tomcat的安裝     下載Nginx壓縮包,解壓,生成Makefile檔案,make,make install(安裝在/usr/local

載入載入(開發者模式)、部署、預載入更新

熱部署:直接重新載入整個應用(生產環境),清空記憶體重新打包,重新解壓war包 熱載入:在執行時重新載入class(開發環境),基於位元組碼的更改,不釋放記憶體開發可用,上線不可用,熱載入不重啟tomcat,不重新打包 懶載入:延遲載入, 實現方法:先在頁面中

SpringBoot 部署 和 yml型別配置檔案

spring: mvc: view: prefix: /WEB-INF/jsp/ suffix: .jsp server: port: 90 可以定義多個application-xxx.yml,需要引用到該檔案就在application.yml中的profiles

day81_淘淘商城專案_14_專案釋出 + Linux下安裝mysql + tomcat部署 + 反向代理的配置 + 資料庫分庫分表 + Mycat學習_匠心筆記

淘淘商城專案_14 1、開發流程淺解 2、專案釋出前的準備 3、專案部署 3.1、Linux下安裝mysql 3.2、專案架構講解 3.3、系統功能介紹 3.4、網路拓撲圖 3.5

SrpingBoot 啟動部署

前言:最近面試幾家公司,面試一般都會問到Spring Boot 熱啟動及熱部署相關的問題。做一個總結 程式碼熱部署 當我們已經啟動了一個服務,然後修改程式碼之後,會自動重新部署。Spring專案通常有新內容修改後需要重新編譯然後執行。通過配置Spring b

java的部署載入

一、熱部署與熱載入 在應用執行的時升級軟體,無需重新啟動的方式有兩種,熱部署和熱載入。 對於Java應用程式來說,熱部署就是在伺服器執行時重新部署專案,熱載入即在在執行時重新載入class,從而升級應用。 二、實現原理 熱載入的實現原理主要依賴java的類載入機制,在實現方式可以概括為在容器啟動的時候起

Liferay的部署自動部署

為了將Portlet應用部署到應用伺服器,Liferay Portal提供了熱部署(hot deploy)與自動部署(auto deploy)。熱部署與自動部署,通常二者是緊密聯絡的,但是又各有側重。 1.Liferay的熱部署 Liferay的熱部署依賴於應用伺服器的熱

FTP(二)ftp部署防火墻配置

vsftp服務部署 ftp服務與iptables防火墻一、ftp部署繼上文對ftp原理的分析說明,接下實戰部署ftp服務器。1、環境 CentOS6.8 X64 vsftp#yum install vsftpd -y#rpm -qa |grep vsftpd#vsftpd-2.2.2-21.e

centos6 Nginx的安裝部署負載均衡配置

figure logs 修改 命令 b- 增加 windows ip地址 com    一、Nginx簡介 Nginx是一個web服務器也可以用來做負載均衡及反向代理使用,目前使用最多的就是負載均衡,具體簡介我就不介紹了百度一下有很多,下面直接進入安裝步驟 二、Nginx安

eclipse實現部署加載

eclips let tex ext 熱加載 servle 後臺 項目 就是 1.在context。xml裏面<Context >改為<Context reloadable="false">   意思就是:每次項目不用啟動,就可以加載後

Eclipse/tomcat 如何實現應用部署啟動

使用者希望應用程式能夠快速響應並載入。 一個啟動速度慢的應用程式不符合這個期望,可能會令使用者失望。 這種糟糕的體驗可能會導致使用者在應用商店中對您的應用進行糟糕的評價,甚至完全放棄您的應用。         如果是對原來的類方法修改,那麼熱啟動非常好

Nginx 部署反向代理配置

Nginx 部署與反向代理配置 最近我們的angular專案部署,我們採用的的是Nginx,下面對Nginx做一個簡單的介紹。 為什麼選擇Nginx 輕:相比於Apache,同樣的web伺服器佔用的資源少 多執行緒模式:Nginx擁有多個worker程序,處理請求時是非同步非阻塞的 社群活

SpringBoot 部署啟動

引入架包 pom.xml <!--部署熱啟動--> <dependency> <groupId>org.springframework.boot</groupId>