手動配置了資料源,沒用seata的資料代理,代碼運行出錯后,seata的seaver端有日志列印
Rollback global transaction successfully, xid = 82.156.78.45:8700:2001069320.
以下是資料源配置
public class MybatisConfig {
protected Logger logger = LoggerFactory.getLogger(getClass());
@Bean
@ConfigurationProperties("spring.datasource.druid.master")
public DataSource masterDataSource(DruidProperties druidProperties) {
DruidDataSource dataSource = DruidDataSourceBuilder.create().build();
return druidProperties.dataSource(dataSource);
}
@Bean
@Primary
@DependsOn("masterDataSource")
public DynamicDataSource dataSource(DataSource masterDataSource) {
Map<Object, Object> targetDataSources = new HashMap<>();
targetDataSources.put(DataSourceType.MASTER.name(), masterDataSource);
setDataSource(targetDataSources, DataSourceType.SLAVE.name(), "slaveDataSource");
return new DynamicDataSource(masterDataSource, targetDataSources);
}
/**
* 設定資料源
*
* @param targetDataSources 備選資料源集合
* @param sourceName 資料源名稱
* @param beanName bean名稱
*/
public void setDataSource(Map<Object, Object> targetDataSources, String sourceName, String beanName) {
try {
DataSource dataSource = SpringUtils.getBean(beanName);
targetDataSources.put(sourceName, dataSource);
} catch (Exception e) {
logger.error("沒有找到備選資料源");
}
}
}
但實際并沒有發生回滾,而且該事物也沒有加入資料庫
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/248292.html
標籤:Java EE
上一篇:水仙花數
下一篇:如何用python讀取mdv檔案
