hsweb 用户手册
  • 说明
  • 快速开始
  • 增删改查
    • 通用CRUD
    • 动态SQL条件
    • 数据库版本控制
    • 拓展实体类
  • 权限控制
    • 登录授权
    • 权限管理
    • RBAC权限控制
    • 数据权限控制
    • 双因子验证
    • 前后分离
  • 常用工具
    • 枚举数据字典
    • 对象属性拷贝
    • 缓存
    • 分布式锁
    • 计数器
    • Excel导入导出
  • 日志
  • 多数据源
    • 多数据源管理
    • Mybatis 多数据源
    • Jta 多数据源事务
  • 业务功能
    • 用户权限
    • 组织架构
    • 数据字典
    • 动态表单
    • 工作流
    • 数据源配置
    • 模板管理
    • 动态脚本
    • 首页dashbord配置
    • 文件上传下载
    • 在线数据库管理
  • 其他
Powered by GitBook
On this page
  • 动态数据源JTA实现 (atomikos)
  • 数据源配置

Was this helpful?

  1. 多数据源

Jta 多数据源事务

动态数据源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容器即可

PreviousMybatis 多数据源Next业务功能

Last updated 6 years ago

Was this helpful?