SonarQube-6.7.6源码浅析-02

SonarQube源码解析时,首选读取conf/sonar.properties配置,并将信息放进一个AppSettings中存储, 而AppSettings内部实际上是一个Sonar自定义类Props(包含Properties和Encryption两个实例变量,用于处理配置和安全);并通过定义AppSettingsLoader接口的load()方法来完成AppSettings的加载。

public interface AppSettingsLoader {

  AppSettings load();

}

new AppSettingsLoaderImpl(cliArguments); 将参数传入,并在该AppSettingsLoader接口的实现类中完成初始化操作,即:传入cliArguments, 通过反射获取Sonar的home目录,即org.sonar.application.App所在类路径(sonar-application-6.7.6.jar中)的parent目录,从sonar打包可以体现;

bin
conf
data
elasticsearch
extensions
lib
  - sonar-application-6.7.6.jar    
logs
temp
web
COPYING

以及FileSystemSettings, JdbcSettings, ClusterSettings三个Consumer<Props>类型的实现类

转载于:https://my.oschina.net/maliang1989/blog/2999165

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值