Tomcat和jboss 熱部署調試Web應用,不重啓Server

常用的web服務器一般爲tomcat和jboss,現一一做介紹。
         1.tomcat熱部署
                  在 tomcat中支持熱部署有兩種方式(在原理上來說,這兩種方式是一致的,只是放的位置不同)
                 a)在 catalina_base/conf/catalina/localhost/中依照manager.xml定義一個xml文件,比如我的項目稱作 sodoperation,我們就可以寫一個sodoperation.xml,內容如下:
           <context path="/sodoperation"  docBase="d:/myportal/sodoperation/src/webapp"/>
            其中,path指的是你在tomcat中的項目名稱,就像manager一樣,docBase是指你的項目所在的web目錄。一直到歡迎頁面爲止(也就是 web-inf的前一個目錄)。但是一般來說,這個目錄中最好不要有中文,如果有的話,可以在文件開始加入
            <?xml version='1.0" encoding='utf-8' ?>來試一下,即整個文件變爲:
             <?xml version='1.0" encoding='utf-8' ?>
            <context path="/sodoperation"  docBase="d:/myportal/sodoperation/src/webapp"/>
           這樣就可以了,如果用這種廣告,同時使用myeclipse的部署的話,輕易不要remove,這樣會使文件都會被刪掉,不能持久。所以,建議使用第二種方法。
              b)第二種方法和第一種方法在原理上是一致的,其區別就是位置的不同,這次在catalina_base/conf下的server.xml,在文件末加入:
      <context path="/sodoperation"  docBase="d:/myportal/sodoperation/src/webapp"/>

<Context   path="/oa"  docBase="D:/workspace/firstoa/webapp"  debug="0" reloadable="false">
reloadable="false"這個菜是關鍵!要麼不用寫這個參數,要麼設爲false 

    解釋和上面一樣,這種方法在啓動tomcat後,會在catalina_base/conf/catalina/localhost/中加入一個與第一種方法的文件。這樣保證,只要對 server.xml不做修改,你可以隨便對新生成的文件刪除,對熱部署沒有任何問題。

例如:

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

    <!-- SingleSignOn valve, share authentication between web applications
     Documentation at: /docs/config/valve.html -->
    <!--
     <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
    -->

    <!-- Access log processes all example.
     Documentation at: /docs/config/valve.html -->
    <!--
     <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" 
     prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>
    -->
    <Context docBase="D:/work/work/WebContent"
     path="/app1">
    </Context>

   </Host>

2.jboss熱部署
     在 jboss中做熱部署也有兩種方法,因爲jobss集成了tomcat,也可以說這兩種方法是在jobss上的一個修改。
     a)修改jboss-4.0.4RC1/server/default/deploy/jbossweb-tomcat55.sar/context.xml 
      <Context cookies="true" crossContext="true" antiResourceLocking="true" antiJARLocking="true">
         <Manager pathname=""/>
         <InstanceListener>org.jboss.web.tomcat.security.RunAsListener</InstanceListener>
        </Context>
   加上紅色的部分,重啓jboss,再用myeclipse Redeploy project的時候就不需要重啓,部署完了直接開瀏覽器預覽啦

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章