熱部署有關(guān)java web應(yīng)用程序
所謂熱部署,就是在應(yīng)用正在運行的時候升級軟件,卻不需要重新啟動應(yīng)用。
對于Java應(yīng)用程序來說,熱部署就是在運行時更新Java類文件。在基于Java的應(yīng)用服務(wù)器實現(xiàn)熱部署的過程中,類裝入器扮演著重要的角色。大多數(shù)基于Java的應(yīng)用服務(wù)器,包括EJB服務(wù)器和Servlet容器,都支持熱部署。類裝入器不能重新裝入一個已經(jīng)裝入的類,但只要使用一個新的類裝入器實例,就可以將類再次裝入一個正在運行的應(yīng)用程序。
一、熱部署介紹:
熱部署對于程序開發(fā)的好處就不用多說了,這里記錄一下自己的使用過程:
1.myeclipse的年代,那時候通過myeclipse新建的web項目,通過debug方式啟動,可以獲得修改java類中的方法體和jsp頁面立即生效的功能;這是純eclipse所沒有的。
2.后來出了jrebel可以獲得新增java類和方法也無需重啟應(yīng)用服務(wù)器即可生效的功能,當然這個功能不完美,有缺陷。
3.隨著eclipse的升級,推出了Jee版本的eclipse,也就逐漸淘汰了myeclipse,但是JEE版本的eclipse和tomcat配合,即便使用debug模式啟動,修改java類還是會導致整個應(yīng)用的重新加載,這是不能忍受的,這時候,發(fā)現(xiàn)了jetty配合JEE版本的eclipse可以完美的實現(xiàn)熱加載,即改即用,很方便。
二、熱部署過程
先做個說明,沒有熱部署和有熱部署的開發(fā)效率真是天差地別的。所以熱部署受很多第三方軟件包(Struts,Spring,Hibernate)的限制。本來可以熱部署的,加入了第三方的包就不可以了。所以,先說明詳細的軟件環(huán)境,和程序配置是非常必要的。
虛擬機:java Tomcat Eclipse Myeclipse
應(yīng)用程序情況:純正的sertlet+jsp+javabean,數(shù)據(jù)庫連接使用JDBC-ODBC橋連接Access數(shù)據(jù)庫。沒有使用任何第三方軟件包,沒有使用Struts,Spring,Hibernate.\WebRoot\WEB-INF\lib下是空的。
配置方法:
ie登陸http://Tomcat所在的服務(wù)器IP:8080/ →點超連接"Tomcat Administration"→ 輸入用戶名密碼登陸→在左側(cè)的功能樹中→Tomcat Server→Service(Catalina)→Host(localhost)→Context(/要修改的web項目)→右側(cè)新出現(xiàn)的頁面中→Reloadable設(shè)置為true→Save按鈕→Commit Changes.
開發(fā)時,修改。java文件后,調(diào)用這個類時日志提示:
- Reloading this Context has started
這是正在重新加載修改后的。class文件。
j2ee開發(fā)插件(這里使用Myeclipse),也可能導致熱部署失效。因為插件必須要把編譯好的。class文件從工作空間復(fù)制到Tomcat\webapps下的項目里。才能使Tomcat得到需要熱部署的文件。
最后說一下jreble,網(wǎng)上的資料比較復(fù)雜,下面介紹個最簡單的方法:
在resin的啟動文件,例如httpd.sh中增加:
Resin 3.1+版本:#div_code img{border:0px;} exec $JAVA_EXE -javaagent:/opt/apps/resin/jrebel4.0-crack.jar -jar ${RESIN_HOME}/lib/resin.jar $*
Resin 3.0-版本:#div_code img{border:0px;} args="-J-javaagent:/opt/apps/resin/jrebel4.0-crack.jar"
三、小 結(jié)
在進行java web程序開發(fā)過程中,經(jīng)常遇到這種問題,修改一個java文件(*.java),需要重啟web服務(wù)器(如tomcat,weblogic等),部署項目。而起/停服務(wù)器浪費了大量的時間。在小項目中,也許我們感覺不到。但對于公司的大型項目:如數(shù)據(jù)中心,生產(chǎn)等系統(tǒng)開發(fā)而言,往往起/停需要等待幾分鐘時間。更浪費時間的是,對于一個類中的方法的調(diào)試過程,如果修改多次,需要反復(fù)的啟停服務(wù)器,那么浪費的時間更多。從上可以看出,我們急需一個可快速起/停服務(wù)器的工具,來提高我們的開發(fā)效率。
本文由站河南北大青鳥校區(qū)整編而成,如需了解更多IT資訊類的文章、新聞、課程和學習技巧、就業(yè)案例、招生詳情等問題,可以對在線咨詢老師進行一對一問答!
推薦資訊
- 鄭州翔天信鴿中心學員劉家寶... 2012-10-13
- 實現(xiàn)借助路由器共享上網(wǎng)知識點分... 2012-10-13
- 現(xiàn)在學軟件開發(fā)編程專業(yè)還有前途... 2017-12-06
- 鄭州北大青鳥就業(yè)班主任-沈老師... 2018-09-06
- 2012年職場心愿排行榜... 2012-10-13
熱點資訊
- 電腦溫度多少是正常的情況呢?... 2018-09-07
- 四個策略及簡單的防護方法... 2018-09-07
- 對硬盤進行雙分區(qū)有什么好處... 2018-09-07
- 文件加密的幾個簡單方法... 2018-09-07
- 計算機小技巧,80G硬盤巧變變成... 2018-09-07