ShardingSphere4.0.0RC1升级到4.1.0报错
技术体系
Springboot2.1.5 + shardingsphere4.0.1 + Mysql5.7 + mysql-connector-java5.1.47
背景
目前公司正在进行的在线客服IM项目,考虑未来会话消息请求流量剧增以及消息存储带来的挑战,单一数据库无法支撑,需要分库&分表、读写分离以应对高并发带来的挑战。
基于市面上较为流行的几个数据库中间件我们结合公司技术体系,再三考虑,决定使用ShardingSphere作为在线客服项目的数据库中间件。
ShardingSphere介绍
Apache ShardingSphere(Incubator) 是一套开源的分布式数据库中间件解决方案组成的生态圈,它由Sharding-JDBC、Sharding-Proxy和Sharding-Sidecar(规划中)这3款相互独立,却又能够混合部署配合使用的产品组成。它们均提供标准化的数据分片、分布式事务和数据库治理功能,可适用于如Java同构、异构语言、云原生等各种多样化的应用场景。(来自官网)
注意事项
从ShardingSphere推出4.0.0-RC2版本之后,通过属性文件application.properties配置集成是会有问题的:
- springboot2.1.5 + mysql-connector-java5.x + shardingsphere-4.0.0-RC1 + mybatis-spring-boot-starter2.0.1版本后功能正常
- springboot2.1.5 + mysql-connector-java5.x + shardingsphere-4.0.0-RC2或3或4.0.1 + mybatis-spring-boot-starter2.0.1的时候,第一先报错required a bean of type ‘com.zzx.sharding.mapper.TeamMessageMapper’ that could not be found.,然后再启动类上添加@MapperScan注解后,报错Caused by: java.lang.IllegalArgumentException: Property ‘sqlSessionFactory’ or ‘sqlSessionTemplate’ are required
这是shardsphere4.0.0-RC2发布之后的一个bug,具体是数据源没有成功注入。
下面通过手动注入数据源的方式解决此问题。
转载:升级问题
以上是 ShardingSphere4.0.0RC1升级到4.1.0报错 的全部内容, 来源链接: utcz.com/z/518849.html