1、查詢資料中的一個大坑
http://m.itdecent.cn/p/45940a29de7a?utm_campaign=hugo(網(wǎng)友教程)
https://github.com/seata/seata-samples/tree/master/springcloud-eureka-feign-mybatis-seata(官方教程)

不知道因為版本的原因還是seata對駝峰和橫線轉(zhuǎn)換的問題,file.conf文件中的db-type和driver-class-name這類橫線連接符的字段并不能被seata識別,最終換成了駝峰命令法才正常啟動了。
2、dynamic-datasource是一個數(shù)據(jù)源代理,需要實現(xiàn)seata代理dynamic-datasource,dynamic-datasource代理druid三級代理。配置方式參考dynamic-datasource官網(wǎng)最新關(guān)于seata的案例
3、seata在每個分庫中需要undo_log表,在官方的示例代碼中用的是MySQL數(shù)據(jù)庫,適配Oracle數(shù)據(jù)庫需要為將undo_log表的表名和字段名都改為大寫(報錯找不到表),需要為UNDO_LOG表加名稱為UNDO_LOG_SEQ的序列(報錯找不到序列)
參考資料:https://github.com/seata/seata/issues/1639
4、seata框架在file.conf中默認的序列化方式是jackson,oracle的timestamp字段不支持jackson序列化方式,要么加手動序列化的代碼,要么在file.conf中將序列化方式更換為kryo
在工程中引入kryo依賴:
<dependency>
? ? <groupId>de.javakaffee</groupId>
? ? <artifactId>kryo-serializers</artifactId>
? ? <version>0.45</version>
</dependency>
<dependency>
? ? <groupId>com.esotericsoftware</groupId>
? ? <artifactId>kryo</artifactId>
? ? <version>4.0.2</version>
</dependency>
5、用docker-compose實現(xiàn)的一個seata-server:
鏈接:https://pan.baidu.com/s/1vrYhUdl4PXzq-CYt25iDPg
提取碼:lhov