欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

解決Springboot不能自動提交數(shù)據(jù)庫連接問題

 更新時間:2024年09月29日 08:42:56   作者:謝月  
在使用SSM框架開發(fā)時,若在同一Service內(nèi)部方法間互相調(diào)用,直接使用this關(guān)鍵字會導(dǎo)致事務(wù)管理失效,從而引發(fā)如數(shù)據(jù)庫連接不足等問題,原因是通過this調(diào)用不會經(jīng)過Spring的代理,因此不會自動進行事務(wù)處理

一、問題描述

之前一直用的公司框架,所以SSM框架不是特別熟悉,然后新項目采用SSM狂架搭建的。

在其中一個需求中,我在service層類的方法內(nèi)部調(diào)用了該類的其他方法:

并且是采用this調(diào)用該類的其他方法。

如下:

就是這波操作使得功能一上線就直接拋出異常,數(shù)據(jù)庫連接不夠。

后經(jīng)過排查采用this調(diào)用的方法不會走spring框架自行提交數(shù)據(jù)庫連接,必須手動提交數(shù)據(jù)庫連接。

因此就會使得當(dāng)訪問量達到一定量就會拋出異常。

二、修改方式一(交由spring提交事務(wù))

只需要將用this調(diào)用的方式都改如下即可:將實例交由spring管理,即可自動提交。

三、修改方式二(手動提交事務(wù))

@Resource(name="transactionManager")
private DataSourceTransactionManager transactionManager;

DefaultTransactionDefinition transDefinition = new DefaultTransactionDefinition();
//開啟新事物
transDefinition.setPropagationBehavior(DefaultTransactionDefinition.PROPAGATION_REQUIRES_NEW);
TransactionStatus transStatus = transactionManager.getTransaction(transDefinition);
try {
    //TODO
    transactionManager.commit(transStatus);
} catch (Exception e) {
    transactionManager.rollback(transStatus);
}

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解SpringBoot的Run方法

    詳解SpringBoot的Run方法

    本文給大家介紹了SpringBoot的Run方法,文中通過實例代碼相結(jié)合給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2021-10-10
  • Maven指定JDK版本的實現(xiàn)

    Maven指定JDK版本的實現(xiàn)

    本文主要介紹了Maven指定JDK版本的實現(xiàn),主要有兩種方式,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-09-09
  • Spring Boot整合Mybatis Plus和Swagger2的教程詳解

    Spring Boot整合Mybatis Plus和Swagger2的教程詳解

    這篇文章主要介紹了Spring Boot整合Mybatis Plus和Swagger2的教程,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-02-02
  • IDEA整合Dubbo+Zookeeper+SpringBoot實現(xiàn)

    IDEA整合Dubbo+Zookeeper+SpringBoot實現(xiàn)

    初學(xué)者,想自己動手做一個簡單的demo,本文主要介紹了IDEA整合Dubbo+Zookeeper+SpringBoot實現(xiàn),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-06-06
  • JAVA 注解詳解及簡單實例

    JAVA 注解詳解及簡單實例

    這篇文章主要介紹了JAVA 注解詳解及簡單實例的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • Java實現(xiàn)兩人五子棋游戲(四) 落子動作的實現(xiàn)

    Java實現(xiàn)兩人五子棋游戲(四) 落子動作的實現(xiàn)

    這篇文章主要為大家詳細介紹了Java實現(xiàn)兩人五子棋游戲,落子動作的實現(xiàn)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • Java字符串操作全解析之語法、示例與應(yīng)用場景分析

    Java字符串操作全解析之語法、示例與應(yīng)用場景分析

    在Java算法題和日常開發(fā)中,字符串處理是必備的核心技能,本文全面梳理Java中字符串的常用操作語法,結(jié)合代碼示例、應(yīng)用場景和避坑指南,可快速掌握字符串處理技巧,輕松應(yīng)對筆試面試高頻題目,感興趣的朋友一起看看吧
    2025-04-04
  • Java ArrayAdapter用法案例詳解

    Java ArrayAdapter用法案例詳解

    這篇文章主要介紹了Java ArrayAdapter用法案例詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • Java中的權(quán)重算法(如Dubbo的負載均衡權(quán)重)詳解

    Java中的權(quán)重算法(如Dubbo的負載均衡權(quán)重)詳解

    這篇文章主要介紹了Java中的權(quán)重算法(如Dubbo的負載均衡權(quán)重)詳解,負載均衡,其含義就是指將負載進行平衡、分攤到多個操作單元上進行運行,例如FTP服務(wù)器、Web服務(wù)器、企業(yè)核心應(yīng)用服務(wù)器和其它主要任務(wù)服務(wù)器等,從而協(xié)同完成工作任務(wù),需要的朋友可以參考下
    2023-08-08
  • java如何強制刪除java程序占用的文件

    java如何強制刪除java程序占用的文件

    這篇文章主要介紹了java如何強制刪除java程序占用的文件問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06

最新評論