Apollo(五)-源码解析-参数配置位置

x33g5p2x  于2021-12-20 转载在 其他  
字(1.5k)|赞(0)|评价(0)|浏览(475)

配置文件位置

Debug相关代码

分析源码

根据debug的最后一张图,可以看到,默认的配置文档目录windows为C:/opt/settings/server.properties,其它系统为/opt/settings/server.properties

结论

修改源码

private static final String SERVER_PROPERTIES_LINUX = "/opt/settings/server.properties";
private static final String SERVER_PROPERTIES_WINDOWS = "C:/opt/settings/server.properties";

private static final String SERVER_PROPERTIES_LINUX = "apollo-configuration.properties";
private static final String SERVER_PROPERTIES_WINDOWS = "apollo-configuration.properties";

编译后,即可以在工程目录下的apollo-configuration.properties读取配置文件

appid配置文件位置

同理把com.ctrip.framework.foundation.internals.provider.DefaultApplicationProvider下

public static final String APP_PROPERTIES_CLASSPATH = "/META-INF/app.properties";

修改为

public static final String APP_PROPERTIES_CLASSPATH = "apollo-configuration.properties";

即可在apollo-configuration.properties里面配置appid;

meta默认地址

修改com.ctrip.framework.apollo.core.MetaDomainConsts下

public static final String DEFAULT_META_URL = "http://config.local";

public static final String DEFAULT_META_URL = "http://localhost:8080";

编译源码后,这样在初始化就不需要设置dev_meta的值了

System.setProperty("dev_meta", "http://localhost:8080");
或idea启动参数
-Ddev_meta=http://localhost:8080

若公司使用到apollo,但没发现配置参数的地方,那就快看看公司引用的jar包上述的几个位置,肯定会有发现的

动手试验

  • 使用源码:具体见调试环境搭建https://blog.csdn.net/sndayYU/article/details/97165983。
  • 启动ConfigServiceApplication。
    1)SimpleApolloConfigDemo去掉dev_meta变量,清掉缓存,运行,结果读不出timeout;

2)修改默认的meta,重新编译apollo-core,再跑SimpleApolloConfigDemo,结果能读出timeout的值

相关文章