亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

解決Spring Boot中Druid連接池“discard long time none received connection“警告

 更新時(shí)間:2025年03月28日 10:07:24   作者:好奇的菜鳥  
本文主要介紹了解決Spring Boot中Druid連接池“discard long time none received connection“警告,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

在使用Spring Boot結(jié)合Druid連接池時(shí),開發(fā)者可能會遇到"discard long time none received connection"的警告信息。雖然這通常不會影響應(yīng)用程序的正常運(yùn)行,但這些警告信息可能會讓人感到困擾。本文將探討這個(gè)問題的原因,并提供幾種解決方法。

問題現(xiàn)象

在使用Druid連接池的新版本(如1.2.5)時(shí),控制臺可能會時(shí)不時(shí)打印以下警告:

WARN  com.alibaba.druid.pool.DruidAbstractDataSource - discard long time none received connection. , jdbcUrl : [your-jdbc-url]

這表明Druid連接池檢測到某些數(shù)據(jù)庫連接已經(jīng)超過了一定時(shí)間沒有活動,因此被標(biāo)記為長時(shí)間空閑并被丟棄。

產(chǎn)生原因

經(jīng)過查看Druid的源碼,發(fā)現(xiàn)這個(gè)問題的根源在于Druid連接池對MySQL連接的處理邏輯。在DruidAbstractDataSource類的testConnectionInternal方法中,如果連接空閑時(shí)間超過60秒,Druid會認(rèn)為該連接已經(jīng)不再有效,并將其丟棄。

if (valid && isMySql) {
    long lastPacketReceivedTimeMs = MySqlUtils.getLastPacketReceivedTimeMs(conn);
    if (lastPacketReceivedTimeMs > 0 && 
        mysqlIdleMillis >= timeBetweenEvictionRunsMillis) {
        discardConnection(holder);
        LOG.warn("discard long time none received connection. " +
                 ", jdbcUrl : " + jdbcUrl + ", version : " + VERSION.getVersionNumber() +
                 ", lastPacketReceivedIdleMillis : " + mysqlIdleMillis);
        return false;
    }
}

解決辦法

1. 修改Druid配置

一種解決方法是修改Druid的配置,通過設(shè)置druid.mysql.usePingMethod=false來避免使用MySQL的Ping方法來檢查連接有效性。這可以通過以下兩種方式實(shí)現(xiàn):

  • 運(yùn)行時(shí)配置:在運(yùn)行參數(shù)中增加-Ddruid.mysql.usePingMethod=false。
  • Spring配置:在Spring的配置文件中添加:
spring:
  datasource:
    druid:
      mysql:
        usePingMethod: false

2. 調(diào)整數(shù)據(jù)庫配置

另一種方法是調(diào)整數(shù)據(jù)庫的配置,例如MySQL的wait_timeout參數(shù),以增加數(shù)據(jù)庫端的空閑超時(shí)時(shí)間,從而減少因?yàn)閿?shù)據(jù)庫端關(guān)閉連接而導(dǎo)致Druid報(bào)錯(cuò)的情況。

3. 代碼層面的優(yōu)化

最后,確保應(yīng)用程序在使用數(shù)據(jù)庫連接時(shí),能夠及時(shí)釋放資源,避免不必要的連接泄露。

結(jié)語

雖然"discard long time none received connection"的警告可能不會直接影響應(yīng)用程序的運(yùn)行,但解決這個(gè)問題可以提高應(yīng)用程序的穩(wěn)定性,并減少不必要的資源浪費(fèi)。希望本文提供的方法能夠幫助你解決這個(gè)問題。

到此這篇關(guān)于解決Spring Boot中Druid連接池“discard long time none received connection“警告的文章就介紹到這了,更多相關(guān)Spring Boot Druid連接池警告內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java?IO流之StringWriter和StringReader用法分析

    Java?IO流之StringWriter和StringReader用法分析

    這篇文章主要介紹了Java?IO流之StringWriter和StringReader用法分析,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • JDK14性能管理工具之Jconsole的使用詳解

    JDK14性能管理工具之Jconsole的使用詳解

    JConsole是JDK自帶的管理工具,在JAVA_HOME/bin下面,直接命令JConsole即可開啟JConsole。接下來通過本文給大家分享JDK14性能管理工具之Jconsole的使用,感興趣的朋友一起看看吧
    2020-05-05
  • Java如何獲取HttpServletRequest請求參數(shù)

    Java如何獲取HttpServletRequest請求參數(shù)

    我們常需要接口接收第三方推送的數(shù)據(jù),由于第三方可能不具備開發(fā)能力,我們需要自行解析推送的數(shù)據(jù)格式,通過HttpServletRequest,我們可以解析字符串、JSON、XML以及文件等多種數(shù)據(jù)類型,本文介紹了如何在Java中使用HttpServletRequest獲取請求參數(shù),感興趣的朋友一起看看吧
    2024-11-11
  • springboot一個(gè)自定義注解如何搞定多線程事務(wù)

    springboot一個(gè)自定義注解如何搞定多線程事務(wù)

    文章介紹了Spring?Boot中使用`@Async`注解進(jìn)行聲明式多線程編程的方法,以及如何通過自定義注解和AOP實(shí)現(xiàn)多線程事務(wù)控制,同時(shí),還解釋了`CountDownLatch`的使用場景及其工作原理
    2024-12-12
  • SpringBoot實(shí)現(xiàn)ImportBeanDefinitionRegistrar動態(tài)注入

    SpringBoot實(shí)現(xiàn)ImportBeanDefinitionRegistrar動態(tài)注入

    在閱讀Spring Boot源碼時(shí),看到Spring Boot中大量使用ImportBeanDefinitionRegistrar來實(shí)現(xiàn)Bean的動態(tài)注入,它是Spring中一個(gè)強(qiáng)大的擴(kuò)展接口,本文就來詳細(xì)的介紹一下如何使用,感興趣的可以了解一下
    2024-02-02
  • Java設(shè)計(jì)模式之中介者模式(Mediator Pattern)簡介

    Java設(shè)計(jì)模式之中介者模式(Mediator Pattern)簡介

    這篇文章主要介紹了Java設(shè)計(jì)模式之中介者模式(Mediator Pattern),需要的朋友可以參考下
    2014-07-07
  • SpringBoot訪問接口自動跳轉(zhuǎn)login頁面的問題及解決

    SpringBoot訪問接口自動跳轉(zhuǎn)login頁面的問題及解決

    這篇文章主要介紹了SpringBoot訪問接口自動跳轉(zhuǎn)login頁面的問題及解決方案,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • springmvc實(shí)現(xiàn)跨服務(wù)器文件上傳功能

    springmvc實(shí)現(xiàn)跨服務(wù)器文件上傳功能

    這篇文章主要為大家詳細(xì)介紹了springmvc實(shí)現(xiàn)跨服務(wù)器文件上傳功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • Spring Boot 2.2 正式發(fā)布,大幅性能提升 + Java 13 支持

    Spring Boot 2.2 正式發(fā)布,大幅性能提升 + Java 13 支持

    隨著 Spring Framework 5.2.0 成功發(fā)布之后,Spring Boot 2.2 也緊跟其后,發(fā)布了第一個(gè)版本:2.2.0。下面就來一起來看看這個(gè)版本都更新了些什么值得我們關(guān)注的內(nèi)容
    2019-10-10
  • maven依賴關(guān)系中的<scope>provided</scope>使用詳解

    maven依賴關(guān)系中的<scope>provided</scope>使用詳解

    這篇文章主要介紹了maven依賴關(guān)系中的<scope>provided</scope>使用詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07

最新評論