在网上找了一天,自己实现DynamicDataSourceProvider和DataSource的bean也都试了,改了好几个sharding的版本都不行。
我的版本,shardingsphere-encrypt-spring-boot-starter:5.0.0
dynamic-datasource-spring-boot-starter:3.2.0
然后sharding用的是druid连接池,druid-spring-boot-starter:1.1.22。
解决办法,不能用
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>${druid.version}</version>
</dependency>
改用druid
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.22</version>
</dependency>
即可。
附上官方github的issue的解决办法:https://github.com/apache/shardingsphere/issues/5697