354 Star 903 Fork 420

hsweb企业后台管理基础框架/hsweb-framework

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

动态数据源JTA实现 (atomikos)

使用atomikos实现动态数据源事务管理

数据源配置

默认数据源配置,使用spring的jta配置即可:

spring:
  jta:
    status: 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

动态数据源配置,默认提供一个 InMemoryAtomikosDataSourceRepository,在application.yml 中进行配置即可:

hsweb:
  datasource:
    jta:
      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" # 纯数字密码要加上双引号,不然启动会报Cannot initialize AtomikosDataSourceBean
        max-pool-size: 20
        borrow-connection-timeout: 1000
        init-timeout: 20

自定义,将数据源配置放到数据库中,实现 DynamicDataSourceConfigRepository<AtomikosDataSourceConfig> 接口并注入到spring容器即可

马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/hsweb/hsweb-framework.git
git@gitee.com:hsweb/hsweb-framework.git
hsweb
hsweb-framework
hsweb-framework
master

搜索帮助