zoukankan      html  css  js  c++  java
  • 配置guzz_app.properties

    一般使用:

    guzz_app.properties用来存储系统各部分的配置信息,最常见的为数据库配置和service配置。
    guzz_app.properties文件组织类似于mysql的配置文件,每一行为1个配置项,以#开头的视为注释。
    [groupName] 用来标记一个配置组的开始,这个标记以下以及下一个[xxx]以上的每一行,为groupName的1条配置项,如:
    1 [masterDB]
    2 xxx=xxx
    3 xxx=xxx
    4 
    5 [slaveDB]
    6 ....
    groupName组名称,也叫配置(信息)组,组名称可以重复出现,用于为一个配置组定义多组配置,最常见的情况是配置多个[slaveDB]定于多个从数据库源。
    下面是一个典型的配置实例:
     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...

    使用多个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>

    指定。可以一次性指定多个文件为配置文件,也可以指定某些文件为可选的配置文件,guzz在启动时全部加载并合并到一起。

    可选的配置文件是指:如果文件存在则加载;如果文件不存在,则自动忽略。

    默认的配置实现,允许提供最多4个properties常规配置文件和最多4个可选的配置文件。完整的配置方式如下:

     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文件列表方式配置:

    这种方式,将实际需要加载的properties配置文件,用文件名列表的方式在一个properties文件中指定。

    用于在properties配置文件多变的场景下,保持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内容示例如下:

    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

    在这个配置中,guzz加载guzz_app.properties,guzz_app_databases.properties和/root/optional_properties.properties的配置项。

    /root/optional_properties.properties 前面加*,表示此文件文件为可选配置文件。如果存在,则加载;如果不存在,则自动忽略。

    与配置管理服务器集成

    配置管理服务器可以完成对所有系统配置文件的统一管理,以及在配置发生改变时,对应用的推送通知。目前guzz还没有开发默认的独立配置管理服务器,只提供从本地properties文件读取配置的支持(就是上面介绍的)。
    实现自己的配置管理,需要实现如下接口:
    1 org.guzz.config.ConfigServer

    并且在guzz.xml中配置为自己的实现类:

    <config-server>
            <server class="your config server's client implementation">
                    <param name="param1" value="somevalue" />
                    <param name="param2" value="somevalue2" />
        </server>
    </config-server>
    guzz在初始化时将会初始化此处定义的实现类,并将param参数以javabean方式注入到实现类中。name为实现类属性,value为值。在ConfigServer实现类中,setXXX()方法的传入参数类型允许为java.lang.String或者org.guzz.io.Resource。使用org.guzz.io.Resource时,guzz会根据当前目录情况,根据配置的somevalue(如一个相对路径的文件名)生成Resource资源(如文件IO流)。Resource使用完毕后不需要关闭。
    默认LocalFileConfigServer中resouce参数的注入方法即为:
    1 public void setResource(org.guzz.io.Resource r) ;

    在所有配置注入完成后,guzz调用 ConfigServer 的startup() 启动。在guzz退出时,调用shutdown() 方法关闭。

  • 相关阅读:
    LRU算法实现 最近最久未使用
    快速排序
    redis 常用命令
    实例:接口并发限流RateLimiter
    Hadoop伪分布式安装
    ssl免密登录(centos6)
    Linux下安装jdk-7u67-linux-x64.rpm
    Mosquitto安装和使用
    MQTT linux centOS7 部署
    CentOS更换yum源
  • 原文地址:https://www.cnblogs.com/SuperBing/p/4963048.html
Copyright © 2011-2022 走看看