一、该问题的重现步骤是什么?
1.SpringBoot原生框架,启动读取Apollo配置
2. BladeX-Biz样例工程blade-apollo,启动读取Apollo配置
编写测试ApolloController,测试API调用读取blade-dev.yaml配置中的数据库驱动类和连接
3. BladeX企业版gateway和auth工程改造Apollo配置读取,启动时报错
org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: @Bean method 'init' must not be declared as void; change the method's return type or its annotation.
4 BladeX企业版common工程改造Apollo配置读取,启动时动态读取自定义apollo配置类属性
5 BladeX企业版common工程改造Apollo配置读取,启动时动态读取自定义apollo配置类属性
二、你期待的结果是什么?实际看到的又是什么?
期望:GateWayApplication网关应用读取Apollo配置中心,其他应用启动后能正常读取Apollo配置中心
实际:参考BladeX-Biz样例工程blade-apollo,无法支持具体改写GateWay、Common以及其他微服务工程的方式
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
BladeX企业版,4.1.0.RELEASE,Windows开发环境
四、请提供详细的错误堆栈信息,这很重要。
五、若有更多详细信息,请在下面提供。
目前读取Apollo配置中心问题采用以下方式临时解决,需要帮忙看下是否有其他影响
1、API方式读取YAML
BladeDevYmlConfig { () Config String () { System..println(+ getDriverClassName())System..println(+ getDatasourceUrl())getDriverClassName()} }
2、新建BladeCustomizeApplication重写BladeX 应用启动类,适配Apollo配置中心
setDefaultProperties方法改为调用setApolloProperties方法
Properties defaultProperties = setApolloProperties(appName, profile); // 设置默认的一些属性
SpringApplicationBuilder (String appNameClass> sourceSpringApplicationBuilder builderString... args) { Assert.(appName)ConfigurableEnvironment environment = (args)ListactiveProfileList = (environment)String profile = (activeProfileList)(builder == ) { builder = SpringApplicationBuilder(source)} builder.profiles(profile)(appNameprofile)Properties defaultProperties = (appNameprofile)builder.properties(defaultProperties)(builderappNameprofile)builder}
Properties (String appNameString profile) { Properties defaultProperties = Properties()defaultProperties.setProperty()defaultProperties.setProperty()defaultProperties.setProperty()defaultProperties}
没什么问题,这里就是需要把nacos的默认配置删掉改成适配apollo的
没什么问题,这里就是需要把nacos的默认配置删掉改成适配apollo的
扫一扫访问 Blade技术社区 移动端