Jboss:配置應用的部署目錄

來源:互聯網
上載者:User

預設的,jboss從 JBOSS_HOME/standalone/deployments這個目錄尋找應用並進行部署。

這個資訊配置在JBOSS_HOME/standalone/configuration/standalone.xml這個檔案中,找到

<subsystem xmlns="urn:jboss:domain:deployment-scanner:1.0">
在這個檔案中,它已經存在了一個 <deployment-scanner>子節點,它配置了伺服器到相對於 jboss.server.base.dir的deployments目錄下尋找要部署的應用,如下所示:

<subsystem xmlns="urn:jboss:domain:deployment-scanner:1.0">      <deployment-scanner scan-interval="5000" relative-to="jboss.server.base.dir" path="deployments" />    </subsystem>

這個預設配置代表著,在相對於系統變數jboss.server.base.dir的deployments目錄下,尋找應用進行部署,每5秒鐘掃描一次。

scanner還有其他的一些配置屬性:


比如我們單位關於jboss的路徑配置是這樣的:

<subsystem xmlns="urn:jboss:domain:deployment-scanner:1.1"><deployment-scanner path="." relative-to="jboss.server.base.dir" auto-deploy-zipped="false" auto-deploy-exploded="false" auto-deploy-xml="false" /></subsystem>

意思我就不解析了,圖中解釋的很明了。

此外,如果要額外添加部署目錄,可以添加新的deployment-scanner,比如/home/me/as7/mydeployments作為我的部署目錄,配置內容如下:

<subsystem xmlns="urn:jboss:domain:deployment-scanner:1.0">      <deployment-scanner scan-interval="5000" relative-to="jboss.server.base.dir" path="deployments" />      <deployment-scanner name="my-external-deployment-scanner" path="/home/jpai/as7/deployments" scan-interval="5000" />  </subsystem>


這裡在描述下jboss部署的一些流程:

使用者可以將部署內容(war、ear、jar、sar等)放在standalone/deployments目錄內,JBoss運行時會自動部署到伺服器上,這也是開發時常採用的方式。
部署模式:
1. 自動部署:
掃描器直接監控部署內容,自動部署新的內容。在standalone.xml中與自動部署有關的內容:
<subsystem xmlns="urn:jboss:domain:deployment-scanner:1.1">
<deployment-scanner path="deployments" relative-to="jboss.server.base.dir" scan-interval="5000"/>
</subsystem>
由以上配置中可以看出JBoss會每隔5秒鐘去掃描deployments目錄(當JBoss以standalone模式啟動並執行時候),您也可以將自動掃描的路徑更改為別的地方,同時,您也可以配置多個自動掃描的路徑。
由此,只需要把項目包放到所掃描的目錄,之後系統會自動部署,部署好了之後會產生一個內容為***.war的***.war.deployed檔案
項目在部署時會有以下幾種標記檔案:
標記檔案與相關的部署內容同名,只是附加了一個尾碼名。不同的尾碼名表明不同的意義。
.dodeploy          由使用者放置,表明內容應該被部署或重新部署到運行時
.skipdeploy       只要這個檔案存在, 禁用自動部署.
.isdeploying      部署掃描服務放置,表明它已經注意到一個. dodeploy檔案,正處在部署內容的過程中,當部署完成後,將自動刪除這個檔案。
.deployed          部署掃描服務放置,表明內容已經被部署到運行時,如果刪除此檔案將取消部署。
.failed       部署掃描服務放置,表明部署失敗,
.isundeploying   部署掃描服務放置,表明它已經注意到一個.deployed檔案已經被刪除,正在取消部署內容。執行完畢後這個檔案也會被刪除。
.undeployed     部署掃描服務放置,表明內容已經村運行時刪除,如果使用者刪除這個檔案,在手動模式下不會造成影響,自動模式下會重新部署。
.pending  部署掃描服務放置,表明它已經注意到要部署內容,但尚未通知伺服器部署,如果掃描器檢測到一些自動部署內容仍在複製過程中,或者存在一些阻止自動部署的問題,將建立這個檔案。只要這個條件成立,掃描器不會通知伺服器部署或取消部署任何內容。
2. 手動部署:
可通過自己手動建立檔案來部署新的項目,如:
拷貝一個test.war的項目包到deployment目錄下,之後手動建立一個檔案內容為test.war的檔案名稱為test.war.deployed的檔案,之後便可訪問地址http://127.0.0.1/test
您也可以拷貝一個展開的項目放到deployment目錄下面,但要確保項目目錄名尾碼為.war之類的檔案目錄,如:把test.war項目展開到test目錄,需要把test目錄拷貝到deployment目錄下,同時更改名字為test.war,同樣之後建立一個檔案內容為test.war的test.war.deployed的檔案即可。

ref:http://grepcode.com/file/repository.jboss.org/nexus/content/repositories/releases/org.jboss.as/jboss-as-deployment-scanner/7.1.3.Final/org/jboss/as/server/deployment/scanner/LocalDescriptions_zh_CN.properties

     https://developer.jboss.org/wiki/DeployingAnApplicationFromAnExternalDeploymentLocation

     https://docs.jboss.org/author/display/AS7/Deployment+Scanner+configuration

     http://www.minunix.com/2013/08/jboss-as7-01/

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.