开发者社区> 问答> 正文

【讨论】如何更好的管理系统配置信息:报错

项目使用jfinal,当然该问题和框架无关,即使使用其他框架也会存在这样的问题,一些配置写在了config.properties,随着项目的发展,配置越来越多,想了解一下各位同仁都是怎么管理配置的,怎样才更好管理和一目了然,我之前想配置在数据库,各位分享下经验,谢啦!!

展开
收起
kun坤 2020-06-20 13:41:46 37428 0
1 条回答
写回答
取消 提交回答
  • 配置管理可以分两块:
    1.静态配置统一放在一个目录:
    res/default/ 默认配置
    jdbc. properties
    web.properties
    xxx.properties

    res/dev 本地开发配置(dev配置会自动覆盖default配置)

    作用:开发 测试 正式 可以分开管理

    2.动态配置部分:
    静态配置文件 一般改了之后要重新启服务,很多时候希望动态改变配置,不用重启就能生效。

    1.JOB自动从DB加载对应配置项,动态改变static 配置变量值。
    2.手工更新配置项。

    如果觉得这个办法不错,可以采纳为答案,3Q

    ######手机不能搞。 回头设置哈######我尝试一下,看上出不错,哈哈######

        jfinal 早就提供了 PropKit 支持你的需求,只需要将不同的配置分类存放在不同的配置文件中,然后使用PropKit.get(...)、PropKit.use("c1.txt").get(...) 、PropKit.use("c2.txt").get(...) 分别可以从默认配置、c1.txt配置、c2.txt 中获取参数。

         配置放在数据库中通常用于需要动态改变配置,并且实时生效的应用场景,通常有相应的管理界面和功能来管理。而配置放在文件中通常用于系统启动前的固定配置,无需动态改变。所以视应用场景即可。


    ######谢波总出招######

    #Disconf#的思路非常赞:http://www.oschina.net/p/disconf

    在大规模系统中会比我们单纯的配置文件要省心得多!

    ###### @孤独的3 以前公司一个做运维的就常常管这些,这个好像不错,下次试试。######回复 @javagoboy : 不是,就是一个配置管理平台+插件的东西! 在那个管理平台上就能修改配置文件会同步到各个节点######回复 @小99 : 他是使用的Spring,最好是有个大牛有时间按照他这个整一个JFinal版本的!配置管理平台+一个插件######我看一下。 看看适不适合我,谢啦######这怎么像是运维要用的东西?######

    我们一般是这样分的

    +config
        +dev
            +db.properties
            +redis.properties
            +xxx.properties
        +
    release
            +db.properties
            +redis.properties
            +xxx.properties

    1.配置文件会单独放在一个源代码目录中
    2.dev目录存放开发配置文件 release存放正式环境配置文件 如果你们公司有专门的测试还会有test这个目录
    3.dev和release中的文件名是一模一样的,配置文件的key也是一抹一样的,值是不一样的
    4.项目中抽象一个配置管理类来管理配置文件的加载,其实就是对PropKit的一次封装,在JFinalConfig中决定加载dev还是release

    ######我不知道这部分怎么写######4.项目中抽象一个配置管理类来管理配置文件的加载,其实就是对PropKit的一次封装,在JFinalConfig中决定加载dev还是release 这个能具体说下,怎么实现好一些
    2020-06-20 13:41:54
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
静态代码扫描体系在阿里移动研发的应用 立即下载
如何创建一个成功的(在业务和开发中)开源项目 立即下载
重新出发:阿里云数据库开源整体策略 立即下载