方便更快捷的说明问题,可以按需填写(可删除)
使用环境:
Windows 22000.493 , IntelliJ IDEA 2021.3.2, Alibaba DragonWell 8u312 , ShardingSphere JDBC 5.1.0
场景、问题:
在 Use DataSourcePoolCreator instead of DataSourceUtil in spring boot data source creation by terrymanu · Pull Request #15249 · apache/shardingsphere (github.com) , 使用了org.apache.shardingsphere.infra.datasource.pool.creator.DataSourcePoolCreator
代替org.apache.shardingsphere.spring.boot.util.DataSourceUtil
,并移除了以下json段.
{
"properties": [
{
"name": "spring.shardingsphere.datasource",
"type": "java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.Object>>",
"sourceType": "org.apache.shardingsphere.spring.boot.util.DataSourceUtil"
}
]
}
这导致了spring.shardingsphere.datasource
下的配置统一报warning,即类似Cannot resolve configuration property 'spring.shardingsphere.datasource.shardingmaster.jdbc-url'
已进行操作:
似乎在引入org.apache.shardingsphere:shardingsphere-jdbc-core-spring-boot-starter:5.1.0
的情况下,不能通过在/resources/META-INF/additional-spring-configuration-metadata.json
下添加类似的json来解决(如下示例).
{
"properties": [
{
"name": "spring.shardingsphere.datasource",
"type": "java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.Object>>",
"sourceType": "org.apache.shardingsphere.infra.datasource.pool.creator.DataSourcePoolCreator"
}
]
}
一个直观的处理方案是将spring.shardingsphere.datasource
下的每个数据源的一个个属性逐个添加到/resources/META-INF/additional-spring-configuration-metadata.json
,但这样操作在数据源足够多的情况下会导致此文件行数膨胀. 不确定有没有更简单的处理方法.
现状:
如图所示.