|
@@ -0,0 +1,49 @@
|
|
|
+# 动态数据源JTA实现 (atomikos)
|
|
|
+使用atomikos实现动态数据源事务管理
|
|
|
+
|
|
|
+# 数据源配置
|
|
|
+默认数据源配置,使用spring的jta配置即可:
|
|
|
+```yaml
|
|
|
+spring:
|
|
|
+ jta:
|
|
|
+ enabled: true
|
|
|
+ atomikos:
|
|
|
+ datasource:
|
|
|
+ xa-data-source-class-name: com.alibaba.druid.pool.xa.DruidXADataSource
|
|
|
+ xa-properties:
|
|
|
+ url : jdbc:h2:mem:core;DB_CLOSE_ON_EXIT=FALSE
|
|
|
+ username : sa
|
|
|
+ password :
|
|
|
+ max-pool-size: 20
|
|
|
+ borrow-connection-timeout: 1000
|
|
|
+ connectionfactory:
|
|
|
+ max-pool-size: 20
|
|
|
+ local-transaction-mode: true
|
|
|
+```
|
|
|
+
|
|
|
+动态数据源配置,默认提供一个 ``MemoryJtaDataSourceStore``,在application.yml 中进行配置即可:
|
|
|
+```yaml
|
|
|
+hsweb:
|
|
|
+ dynamic:
|
|
|
+ datasource:
|
|
|
+ test_ds: # 数据源ID
|
|
|
+ xa-data-source-class-name: com.alibaba.druid.pool.xa.DruidXADataSource
|
|
|
+ xa-properties: # 数据源的配置属性
|
|
|
+ url: jdbc:h2:mem:test;DB_CLOSE_ON_EXIT=FALSE
|
|
|
+ username: sa
|
|
|
+ password:
|
|
|
+ max-pool-size: 20
|
|
|
+ borrow-connection-timeout: 1000
|
|
|
+ test_ds2: # 数据源ID
|
|
|
+ xa-data-source-class-name: com.alibaba.druid.pool.xa.DruidXADataSource
|
|
|
+ xa-properties: # 数据源的配置属性
|
|
|
+ url: jdbc:mysql://localhost:3306/hsweb?pinGlobalTxToPhysicalConnection=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&autoReconnect=true&failOverReadOnly=false
|
|
|
+# url: jdbc:h2:mem:test2;DB_CLOSE_ON_EXIT=FALSE
|
|
|
+ username: root
|
|
|
+ password: 123456
|
|
|
+ max-pool-size: 20
|
|
|
+ borrow-connection-timeout: 1000
|
|
|
+ init-timeout: 20
|
|
|
+```
|
|
|
+
|
|
|
+自定义,将数据源配置放到数据库中,实现 ``JtaDataSourceStore`` 接口并注入到spring容器即可
|