Atomikos解決多資料來源事務

2022-09-20 19:27:07 字數 2559 閱讀 2596

org.springframework.boot

spring-boot-starter-jta-atomikos

com.baomidou

mybatis-plus-boot-starter

3.5.0

com.alibaba

druid-spring-boot-starter

1.2.8

#資料來源配置

spring:

datasource:

#第乙個資料來源配置:名字自定義

first:

url: jdbc:postgresql:

username: datacenter

password: datacenter

#第二個資料來源配置:名字自定義

second:

url: jdbc:postgresql:

username: government

password: government@123

分開兩個檔案配置,清晰明了,不易出錯。

first資料來源

1

@configuration

3public

class

datasourceconfig1 ")

6private

string url;

7 @value("$")

8private

string username;

9 @value("$")

10private

string password;

1112

/**13

* 建立first資料來源

14*/

15 @bean(name = "firstdatasource")

16@primary

17public

datasource createproductdatasource()

2728

@primary

29 @bean(name = "firstsqlsessionfactory")

30public sqlsessionfactory firstsqlsessionfactory(@qualifier(value = "firstdatasource") datasource datasource) throws

exception

4546

/**47

* 建立sqlsessiontemplate

48*/

49@primary

50 @bean(name = "firstsqlsessiontemplate")

51public sqlsessiontemplate firstsqlsessiontemplate(@qualifier("firstsqlsessionfactory") sqlsessionfactory sqlsessionfactory)

54 }

view code

second資料來源

1

@configuration

3public

class

datasourceconfig2 ")

6private

string url;

7 @value("$")

8private

string username;

9 @value("$")

10private

string password;

1112

/**13

* 建立second資料來源

14*/

15 @bean(name = "seconddatasource")

16public

datasource createproductdatasource()

2627 @bean(name = "secondsqlsessionfactory")

28public sqlsessionfactory ordersqlsessionfactory(@qualifier(value = "seconddatasource") datasource datasource) throws

exception

4344

/**45

* 建立sqlsessiontemplate

46*/

47 @bean(name = "secondsqlsessiontemplate")

48public sqlsessiontemplate ordersqlsessiontemplate(@qualifier("secondsqlsessionfactory") sqlsessionfactory sqlsessionfactory)

51 }

view code

實體類略。

@service

public

itest1service

}

SpringBoot Redis 多資料來源

session存到redis後,cache和session是在乙個庫的 使用redis多資料配置可以分開。這樣ssession的redis伺服器可以單獨作為認證服務,多個業務模組可以配置單獨的cache庫,防止多模組key衝突的問題。原始碼 github 增加redis2的配置spring.redi...

rabbitmq多資料來源

核心依賴 com.mytaxi.spring.multirabbit spring multirabbit lib 2.2.0 核心方法 繫結至指定資料來源 resourceholder.bind connectionfactory,source 解除繫結,使用預設資料來源 resourcehold...

spring 多資料來源

之前嘗試的乙個多資料來源切換的功能測試可以實現了,下面進行一下簡單的筆記 testservice 方法通過以下方式進行主動切換 dynamicdatasource 類 package com.utils import org.springframework.jdbc.datasource.looku...