spring-brick 插件开发问题整理

1、部署在线上启动失败

原因分析:spring-brick 3.0.0版本框架自身bug导致的问题,

解决方案:升级到3.0.1版本 已解决

建议:目前spring-brick框架还在不断的迭代中(开发时3.0.0版本目前迭代到3.0.3),升级版本时需要谨慎,因为新的版本可能会带来新的问题,不影响功能情况尽量不要升级到最新的版本。

2、启动主程序加载不到插件

原因分析:插件没有编译安装、配置的插件路径有问题

解决方案:插件编辑安装后启动;若提示某某路径下找到不插件,需要查看主程序配置的插件路径“plugin.pluginPath[0]= ~\preprocess-plugins” 前面的“~”意思是相对于主程序插件的路径

3、修改插件中的代码,开发模式下启动主程序不能实时加载到修改后的内容

原因分析:加载的插件是打包后的jar

解决方案:插件重新编辑安装, 已经安装后的需要clean

4、插件加载不到自身的配置文件

原因分析:在插件的pom文件中的,关于插件的配置项“configFileName”配置错误,或者开启使用外部的配置文件“~/preprocess-plugins”其中“~”则是相对于主程序的配置文件路径,也可以写全路径

解决方案:关闭configFileLocation配置对于开发环境还是线上环境外置的配置文件对于开发运维成本较高,不推荐使用。修改配置文件名称改成jar包内的配置文件名称。

5、打包部署时需要切换插件的运行模式

原因分析:插件的打包方式分为开发模式(dev)、线上环境(prod),插件自身实现了maven的打包,提供了不同的模式下的实现

解决方案:在插件的pom配置中关于插件的“mode”可以设置成prod,这样打包默认会生成开发(preprocess-main-1.0.0.jar)和生产(preprocess-main-1.0.0-repackage.jar)环境的包,部署时选择repackage

6、插件不支持读取远程的config配置中心的配置

原因分析:插件目前不支持

解决方案:使用nacos作为远程的注册配置中心

7、集成nacos可能导致启动时日志冲突或者启动后导致日志不能持久化

spring-brick 插件开发问题整理_第1张图片

原因分析:引入的nacos中“spring-cloud-starter-alibaba-nacos-config”集成了日志导致冲突

解决方案:关闭nacos中的日志配置,启动类中设置“System.setProperty("nacos.logging.default.config.enabled","false");”

spring-brick 插件开发问题整理_第2张图片

参考材料:

1、项目地址:spring-brick: 为动态扩展系统而生的插件开发框架。它在SpringBoot基础上可以快速开发出插件,并对插件提供不同打包方式,在不重启主程序的情况下,可以动态部署、更新插件,达到动态插拔的效果!注意issue问题

你可能感兴趣的:(spring)