配置guzz_app.properties
一般使用:
guzz_app.properties用來(lái)存儲(chǔ)系統(tǒng)各部分的配置信息,最常見(jiàn)的為數(shù)據(jù)庫(kù)配置和service配置。
guzz_app.properties文件組織類似于mysql的配置文件,每一行為1個(gè)配置項(xiàng),以#開(kāi)頭的視為注釋。
[groupName]用來(lái)標(biāo)記一個(gè)配置組的開(kāi)始,這個(gè)標(biāo)記以下以及下一個(gè)[xxx]以上的每一行,為groupName的1條配置項(xiàng),如:
1 [masterDB] 2 xxx=xxx 3 xxx=xxx 4 5 [slaveDB] 6 ....
groupName組名稱,也叫配置(信息)組,組名稱可以重復(fù)出現(xiàn),用于為一個(gè)配置組定義多組配置,最常見(jiàn)的情況是配置多個(gè)[slaveDB]定于多個(gè)從數(shù)據(jù)庫(kù)源。
下面是一個(gè)典型的配置實(shí)例:
1 #guzz app config file. 2 3 #master db 4 [masterDB] 5 guzz.identifer=blogMasterDB 6 guzz.IP=localhost 7 guzz.maxLoad=120 8 driverClass=com.mysql.jdbc.Driver 9 jdbcUrl=jdbc:mysql://localhost:3306/blog?useUnicode=true&characterEncoding=UTF-8&useServerPrepStmts=true 10 user=root 11 password=root 12 acquireIncrement=10 13 idleConnectionTestPeriod=60 14 15 [updateMasterDB] 16 guzz.identifer=incUpdateDB1 17 guzz.IP=localhost 18 guzz.maxLoad=20 19 driverClass=com.mysql.jdbc.Driver 20 jdbcUrl=jdbc:mysql://localhost:3306/guzzSlowUpdate?useUnicode=true&characterEncoding=UTF-8 21 user=slowupdate 22 password=slowupdate 23 acquireIncrement=10 24 idleConnectionTestPeriod=60 25 26 [logMasterDB] 27 guzz.identifer=logUpdateDB1 28 guzz.IP=localhost 29 guzz.maxLoad=20 30 driverClass=com.mysql.jdbc.Driver 31 jdbcUrl=jdbc:mysql://localhost:3306/guzzLogDB?useUnicode=true&characterEncoding=UTF-8&useServerPrepStmts=true 32 user=loguser 33 password=loguser 34 acquireIncrement=10 35 idleConnectionTestPeriod=60 36 37 [guzzSlowUpdate] 38 #max size of cached queue 39 queueSize=20480 40 batchSize=2048 41 42 [guzzSlowUpdateServer] 43 #max size of cached queue 44 batchSize=50 45 pageSize=40 46 combinePageCount=10 47 48 [guzzDBLogServiceClient] 49 #max size of cached queue 50 batchSize=2048 51 queueSize=20480 52 53 #debug settings 54 [guzzDebug] 55 #runMode=debug/production 56 runMode=debug 57 #onError=halt/log/ignore 58 onError=halt 59 printSQL=false 60 printSQLParams=false 61 ignoreDemonThreadSQL=true 62 63 64 ############################### fundamental services ##################### 65 #other services' configurations go here...
使用多個(gè)properties配置文件:
properties配置文件用guzz.xml的
1 <config-server> 2 <server class="org.guzz.config.LocalFileConfigServer"> 3 <param name="resource" value="guzz_app.properties" /> 4 </server> 5 </config-server>
指定。可以一次性指定多個(gè)文件為配置文件,也可以指定某些文件為可選的配置文件,guzz在啟動(dòng)時(shí)全部加載并合并到一起。
可選的配置文件是指:如果文件存在則加載;如果文件不存在,則自動(dòng)忽略。
默認(rèn)的配置實(shí)現(xiàn),允許提供最多4個(gè)properties常規(guī)配置文件和最多4個(gè)可選的配置文件。完整的配置方式如下:
1 <config-server> 2 <server class="org.guzz.config.LocalFileConfigServer"> 3 <param name="resource" value="guzz_app.properties" /> 4 <param name="resource1" value="guzz_app1.properties" /> 5 <param name="resource2" value="guzz_app2.properties" /> 6 <param name="resource3" value="guzz_app3.properties" /> 7 8 <param name="optionalResource" value="guzz_app4.properties" /> 9 <param name="optionalResource1" value="guzz_app5.properties" /> 10 <param name="optionalResource2" value="guzz_app6.properties" /> 11 <param name="optionalResource3" value="guzz_app7.properties" /> 12 </server> 13 </config-server>
使用properties文件列表方式配置:
這種方式,將實(shí)際需要加載的properties配置文件,用文件名列表的方式在一個(gè)properties文件中指定。
用于在properties配置文件多變的場(chǎng)景下,保持guzz.xml文件的一致性。
示例如下:
1 <config-server> 2 <server class="org.guzz.config.LocalFileConfigServer"> 3 <param name="resourceList" value="resources_list.properties" /> 4 </server> 5 </config-server>
resources_list.properties內(nèi)容示例如下:
1 #basic config files 2 guzz_app.properties 3 4 #DBs 5 guzz_app_databases.properties 6 7 #guzz task config file. 8 */root/optional_properties.properties
在這個(gè)配置中,guzz加載guzz_app.properties,guzz_app_databases.properties和/root/optional_properties.properties的配置項(xiàng)。
/root/optional_properties.properties 前面加*,表示此文件文件為可選配置文件。如果存在,則加載;如果不存在,則自動(dòng)忽略。
與配置管理服務(wù)器集成
配置管理服務(wù)器可以完成對(duì)所有系統(tǒng)配置文件的統(tǒng)一管理,以及在配置發(fā)生改變時(shí),對(duì)應(yīng)用的推送通知。目前guzz還沒(méi)有開(kāi)發(fā)默認(rèn)的獨(dú)立配置管理服務(wù)器,只提供從本地properties文件讀取配置的支持(就是上面介紹的)。
實(shí)現(xiàn)自己的配置管理,需要實(shí)現(xiàn)如下接口:
1 org.guzz.config.ConfigServer
并且在guzz.xml中配置為自己的實(shí)現(xiàn)類:
<config-server>
<server class="your config server's client implementation">
<param name="param1" value="somevalue" />
<param name="param2" value="somevalue2" />
</server>
</config-server>
guzz在初始化時(shí)將會(huì)初始化此處定義的實(shí)現(xiàn)類,并將param參數(shù)以javabean方式注入到實(shí)現(xiàn)類中。name為實(shí)現(xiàn)類屬性,value為值。在ConfigServer實(shí)現(xiàn)類中,setXXX()方法的傳入?yún)?shù)類型允許為java.lang.String或者org.guzz.io.Resource。使用org.guzz.io.Resource時(shí),guzz會(huì)根據(jù)當(dāng)前目錄情況,根據(jù)配置的somevalue(如一個(gè)相對(duì)路徑的文件名)生成Resource資源(如文件IO流)。Resource使用完畢后不需要關(guān)閉。
默認(rèn)LocalFileConfigServer中resouce參數(shù)的注入方法即為:
1 public void setResource(org.guzz.io.Resource r) ;
在所有配置注入完成后,guzz調(diào)用 ConfigServer 的startup() 啟動(dòng)。在guzz退出時(shí),調(diào)用shutdown() 方法關(guān)閉。
總結(jié)
以上是生活随笔為你收集整理的配置guzz_app.properties的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 一个优雅的占位图解决方案。适用于 UIT
- 下一篇: 很基础,也很值得回顾