目前官方已经邀请我调整了说明文档,文档已经和最新代码一致!

如果您准备自己调整配置注入方式,可以参考本次修复过程。

Sharingsphere在根据官方配置为Master-slave rule configuration模式时启动会报错如下:

image
Master-slave

原因在4.0.0-x版本中,将代码迁移至apache时,小伙伴傲娇的将参数实现改成了如下,同时没有了无参数构造函数。

image
新版本MasterSlaveRuleConfiguration代码

再看看3.0.x原版的旧代码实现状况

image
旧版本MasterSlaveRuleConfiguration代码

官方示例居然还有无参数创建的示例,试问是怎么做到的

image
shardingsphere官方文档示例

从这点看有被改写忽略的问题,同时按照官方配置,出现如上的配置启动报错问题!!!

我是犀利的分割线 —- 下面是硬写解决方案


创建新类MasterSlaveRuleConfig.java,复制官方新版本MasterSlaveRuleConfiguration,改为如下:

image
改写MasterSlaveRuleConfiguration

1、@Getter改为@Data,支持配置读写

2、去掉内部private对象的final限定

3、加入MasterSlaveRuleConfiguration无参数构造函数

配置改造完成,下面是调整配置函数:

image
重写配置MasterSlaveRuleConfiguration

MasterSlaveRuleConfig配置在 sharding.master-slave-rule 下面,和官方一致。

服务启动~~~~~ happy time 😄