一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - Java教程 - 解決springboot環(huán)境切換失效的問(wèn)題

解決springboot環(huán)境切換失效的問(wèn)題

2022-01-11 00:58快樂(lè)檸檬 Java教程

這篇文章主要介紹了解決springboot環(huán)境切換失效的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

springboot環(huán)境切換失效

概述

最近在使用-Dspring.profiles.active=te 來(lái)切換spring-boot的環(huán)境時(shí),發(fā)現(xiàn)日志打印的是:

?
1
2
...ApplicationStartUp -
The following profiles are active: de

也就是說(shuō),參數(shù)失效了。

debug調(diào)試時(shí),發(fā)現(xiàn)spring-boot讀取的也是de,不是te。

解決

下載了一個(gè)新的tomcat,然后重新發(fā)布程序,設(shè)置參數(shù),啟動(dòng),發(fā)現(xiàn)環(huán)境正常切換了過(guò)來(lái)。

SpringBoot多數(shù)據(jù)源切換無(wú)效(不切換)

SpringBoot的多數(shù)據(jù)源實(shí)現(xiàn)以實(shí)現(xiàn)AbstractRoutingDataSource#determineCurrentLookupKey()來(lái)達(dá)到多個(gè)數(shù)據(jù)源動(dòng)態(tài)切換的目的。

網(wǎng)上有很多的文章可以獲取具體方法,就不在講了。

項(xiàng)目中需要用到多數(shù)據(jù)源MySQL和SQLServer兩個(gè)數(shù)據(jù)庫(kù),系統(tǒng)要保持兩個(gè)數(shù)據(jù)庫(kù)的數(shù)據(jù)同步,就需要來(lái)回切數(shù)據(jù)源來(lái)操作數(shù)據(jù)庫(kù)。

剛寫(xiě)好了數(shù)據(jù)從MySQL同步到SQLServer中的代碼,測(cè)試發(fā)現(xiàn)數(shù)據(jù)源不能切換到SQLServer數(shù)據(jù)庫(kù)連接,排查問(wèn)題~~省略n多個(gè)小時(shí)后,

源碼解析等理論就不寫(xiě)了(重要的是不會(huì)寫(xiě))直接上修改方案

CSDN查到的方案有

  • 數(shù)據(jù)源切換和事務(wù)的注入順序問(wèn)題,像下面這樣的,加入@Order注解。測(cè)試無(wú)效(可能我搭的架構(gòu)有問(wèn)題)
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
@Aspect
@Slf4j
@Order(-1) // 保證優(yōu)先級(jí)
@Component
public class DatasourceAspect {
    @Pointcut("@within(DataSource)|| @annotation(DataSource)")
    public void pointcut() {
    }
    @Before("pointcut() && @annotation(dataSource)")
    public void before(DataSource dataSource) {
        DatasourceContextHolder.setDatasource(dataSource.value().getDbName());
    }
    @After("pointcut()")
    public void after() {
        DatasourceContextHolder.clear();
    }
}
  • Mapper(Dao)層切換數(shù)據(jù)源,反正我沒(méi)找到怎么個(gè)用法,所以沒(méi)有測(cè)試。
  • 還有下面的這種寫(xiě)法。測(cè)試有效的
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
@DataSource(DatasourceEnum.DB3)
   public int insertSelective( String hbNo, ) throws Exception{
       CcpHeaderSqlServer record = new CcpHeaderSqlServer();     
       if (log.isDebugEnabled()) {
           log.debug("同步到SQLServer的數(shù)據(jù)對(duì)象:[{}]", record);
       }   
    ......
    
    // 這種調(diào)用保存數(shù)據(jù)的方法,有效切換數(shù)據(jù)源
       XXXService service = SpringContextHolder.getBean(XXXService.class);
       return service.saveHeader(record);
   }
   @DataSource(DatasourceEnum.DB3)
   public int saveHeader(XXXEntity record) {
       return xxxMapper.insertSelective(record);
   }

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持服務(wù)器之家。

原文鏈接:https://blog.csdn.net/limenghua9112/article/details/79608257

延伸 · 閱讀

精彩推薦
  • Java教程20個(gè)非常實(shí)用的Java程序代碼片段

    20個(gè)非常實(shí)用的Java程序代碼片段

    這篇文章主要為大家分享了20個(gè)非常實(shí)用的Java程序片段,對(duì)java開(kāi)發(fā)項(xiàng)目有所幫助,感興趣的小伙伴們可以參考一下 ...

    lijiao5352020-04-06
  • Java教程Java實(shí)現(xiàn)搶紅包功能

    Java實(shí)現(xiàn)搶紅包功能

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)搶紅包功能,采用多線程模擬多人同時(shí)搶紅包,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙...

    littleschemer13532021-05-16
  • Java教程小米推送Java代碼

    小米推送Java代碼

    今天小編就為大家分享一篇關(guān)于小米推送Java代碼,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧...

    富貴穩(wěn)中求8032021-07-12
  • Java教程Java8中Stream使用的一個(gè)注意事項(xiàng)

    Java8中Stream使用的一個(gè)注意事項(xiàng)

    最近在工作中發(fā)現(xiàn)了對(duì)于集合操作轉(zhuǎn)換的神器,java8新特性 stream,但在使用中遇到了一個(gè)非常重要的注意點(diǎn),所以這篇文章主要給大家介紹了關(guān)于Java8中S...

    阿杜7482021-02-04
  • Java教程xml與Java對(duì)象的轉(zhuǎn)換詳解

    xml與Java對(duì)象的轉(zhuǎn)換詳解

    這篇文章主要介紹了xml與Java對(duì)象的轉(zhuǎn)換詳解的相關(guān)資料,需要的朋友可以參考下...

    Java教程網(wǎng)2942020-09-17
  • Java教程Java BufferWriter寫(xiě)文件寫(xiě)不進(jìn)去或缺失數(shù)據(jù)的解決

    Java BufferWriter寫(xiě)文件寫(xiě)不進(jìn)去或缺失數(shù)據(jù)的解決

    這篇文章主要介紹了Java BufferWriter寫(xiě)文件寫(xiě)不進(jìn)去或缺失數(shù)據(jù)的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望...

    spcoder14552021-10-18
  • Java教程升級(jí)IDEA后Lombok不能使用的解決方法

    升級(jí)IDEA后Lombok不能使用的解決方法

    最近看到提示IDEA提示升級(jí),尋思已經(jīng)有好久沒(méi)有升過(guò)級(jí)了。升級(jí)完畢重啟之后,突然發(fā)現(xiàn)好多錯(cuò)誤,本文就來(lái)介紹一下如何解決,感興趣的可以了解一下...

    程序猿DD9332021-10-08
  • Java教程Java使用SAX解析xml的示例

    Java使用SAX解析xml的示例

    這篇文章主要介紹了Java使用SAX解析xml的示例,幫助大家更好的理解和學(xué)習(xí)使用Java,感興趣的朋友可以了解下...

    大行者10067412021-08-30
主站蜘蛛池模板: 国产精品一二三 | 亚洲精品乱码蜜桃久久久 | 精品久久久噜噜噜久久7 | 三年片韩国在线 | 欧美性欲 | 红杏劫| 成人资源影音先锋久久资源网 | 色姑娘色综合 | 91麻豆精品国产自产在线 | 99久久精品久久久久久清纯 | 九九精品视频在线观看九九 | 亚洲图片一区二区 | japaneseles女同专区 | 欧美xxxxx性| 跪趴好紧h | 国产成人综合网 | 果冻传媒在线视频播放观看 | 欧美整片完整片视频在线 | 操好爽 | 久久偷拍免费2017 | 乖女的嫩奶水h文孕妇 | 午夜五月天 | 四虎成人免费视频 | 青青久在线视频免费观看 | 教师系列 大桥未久在线 | 特黄特色大片免费视频大全 | 国内揄拍国内精品久久 | 久久国产综合精品欧美 | 女教师巨大乳孔中文字幕免费 | 色依依视频视频在线观看 | 91精品免费国产高清在线 | 国产一区日韩二区欧美三区 | yy3341殇情影院理论片 | 国产精品久久毛片蜜月 | 日韩在线视频在线 | 成在线人免费视频一区二区三区 | 99热这里只有精品久久免费 | 91制片厂果冻传媒杨柳作品 | 亚洲欧美日韩成人 | 紧身裙女教师miad711在线 | 色综合久久98天天综合 |