項(xiàng)目背景
dynamic data source +shardingSphere4.1.1
關(guān)鍵在于dynamic data source 和shardingJDBC結(jié)合起來(lái)的配置
首先要升級(jí)snakeyaml到1.33 不然會(huì)報(bào)一個(gè)錯(cuò):
ShardingSphereYamlConstructor$1.setCodePointLimit(I)
排除其他包的snakeyaml依賴芬为,否則會(huì)沖突。
如果使用seata氧敢,報(bào)sub class 無(wú)法被代理的問(wèn)題
修改配置文件
seata:
use-jdk-proxy: true
因?yàn)閟hardingSphereDataSource的dataSource是個(gè)final的 seata的proxy處理dataSource會(huì)有問(wèn)題 切換一下代理 使用jdk的proxy
最后是動(dòng)態(tài)數(shù)據(jù)源的配置類
這里沒(méi)有在yml中寫shardingSphere的配置 而是另開(kāi)了一個(gè)文件询张,直接加載的另外的文件創(chuàng)建的shardingSphere的數(shù)據(jù)源,放入動(dòng)態(tài)數(shù)據(jù)源里面唯袄。