SonarQube-6.7.6源码浅析-02

原创
2019/01/09 12:16
阅读数 912

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>类型的实现类

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部