概述 (Overview)
在這里可以找到關(guān)于conf/jboss-service.xml的描述。我們可以對(duì)默認(rèn)部署掃描器(default DeploymentScanner)做一些調(diào)整,但這些調(diào)整將會(huì)影響到Jboss應(yīng)用服務(wù)的熱部署特性。在修改conf/jboss-service.xml后,需要重啟JBoss才會(huì)生效。如果你希望在JBoss運(yùn)行的情況下修改并即時(shí)生效,你需要通過(guò)JMXConsole來(lái)操作。通過(guò)JMXConsole來(lái)配置部署掃描器的指南,請(qǐng)點(diǎn)擊這里。
第一步 (First steps)
使用vi或其它文本編輯器打開(kāi)conf/jboss-service.xml。移動(dòng)到DeploymentScanner MBean定義附近:
<!-- ==================================================================== -->
<!-- Deployment Scanning -->
<!-- ==================================================================== -->
<!-- An mbean for hot deployment/undeployment of archives.
-->
<mbean code="org.jboss.deployment.scanner.URLDeploymentScanner"
name="jboss.deployment:type=DeploymentScanner,flavor=URL">
這包含了對(duì)應(yīng)部署掃描器的名稱(chēng)。當(dāng)然,沒(méi)有特殊理由的情況下,你不應(yīng)該修改它。
部署排序器 (Deployment Sorter)
當(dāng)你向下移動(dòng)時(shí),你將會(huì)看到一些注釋?zhuān)谧⑨尩南路绞牵?br />
<attribute name="URLComparator">org.jboss.deployment.DeploymentSorter</attribute>
這里的部署排序器只能是DefaultDeploymentOrder。從4.0.1開(kāi)始,可以使用EnhancedSuffixOrder來(lái)獲取排列次序。如果你更愿意使用UNIX System-V的初始化格式,你在注釋掉這個(gè)排序器后,去除下面這一行上的注釋?zhuān)?br />
<attribute name="URLComparator">org.jboss.deployment.scanner.PrefixDeploymentSorter</attribute>
這個(gè)排序器將使用基于數(shù)字前綴的順序。如果你希望使用這個(gè)排序器,你應(yīng)該進(jìn)一步讀一下PrefixDeploymentOrder。
掃描周期 (Scan Period)
向下繼續(xù)移動(dòng),你將發(fā)現(xiàn):
<attribute name="ScanPeriod">5000</attribute>
默認(rèn)值是5000毫秒(5秒)。這指示了部署掃描器掃描目錄(/deploy)的頻率。將這個(gè)值設(shè)的比較大意味著當(dāng)/deploy發(fā)生變化后,被發(fā)現(xiàn)時(shí)的時(shí)間會(huì)較長(zhǎng)。當(dāng)這個(gè)值比較小會(huì)造成不必要的CPU開(kāi)銷(xiāo)。
URLs
繼續(xù)向下移動(dòng),你將發(fā)現(xiàn):
<attribute name="URLs">
deploy/
</attribute>
正如你看到的一樣,這將是熱部署會(huì)使用到的逗號(hào)分隔的URL列表。這兒可以是HTTP服務(wù)器URLs,然后你應(yīng)該使用一個(gè)啟用WebDAV特性的服務(wù)器。你可以使用不同的權(quán)限掃描多個(gè)目錄。舉例,如果你想要保護(hù)數(shù)據(jù)庫(kù)密碼你可以這樣做。
<attribute name="URLs">
deploy/,datasources/
</attribute>
你可以設(shè)置datasource/目錄的權(quán)限,如JBoss可以讀取目錄,但是開(kāi)發(fā)人員卻不能。
Recursive (遞歸)
最后,應(yīng)該看到:
<attribute name="RecursiveSearch">True</attribute>
這將使用部署掃描器遞歸掃描子目錄。
屏蔽熱部署 (Disable Hot Deployment)
增加以下屬性:
<attribute name="ScanEnabled">false</attribute>