<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    少年阿賓

    那些青春的歲月

      BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
      500 Posts :: 0 Stories :: 135 Comments :: 0 Trackbacks
    MySQL 的默認(rèn)設(shè)置下,當(dāng)一個(gè)連接的空閑時(shí)間超過8小時(shí)后,MySQL 就會(huì)斷開該連接,而 c3p0 連接池則以為該被斷開的連接依然有效。在這種情況下,如果客戶端代碼向 c3p0 連接池請(qǐng)求連接的話,連接池就會(huì)把已經(jīng)失效的連接返回給客戶端,客戶端在使用該失效連接的時(shí)候即拋出異常。
    解決這個(gè)問題的辦法有三種:
    1. 增加 MySQL 的 wait_timeout 屬性的值。
    修改 /etc/mysql/my.cnf 文件,在 [mysqld] 節(jié)中設(shè)置:
    # Set a connection to wait 8 hours in idle status.
    wait_timeout 
    = 86400
    2. 減少連接池內(nèi)連接的生存周期,使之小于上一項(xiàng)中所設(shè)置的 wait_timeout 的值。
    修改 c3p0 的配置文件,設(shè)置:
    # How long to keep unused connections around(in seconds)
    # Note: MySQL times out idle connections after 
    8 hours(28,800 seconds)
    # so ensure this value is below MySQL idle timeout
    cpool.maxIdleTime
    =25200
    在 Spring 的配置文件中:
    <bean id="dataSource"
        class
    ="com.mchange.v2.c3p0.ComboPooledDataSource">
        
    <property name="maxIdleTime" value="${cpool.maxIdleTime}" />
        
    <!-- other properties -->
    </bean>
    3. 定期使用連接池內(nèi)的連接,使得它們不會(huì)因?yàn)殚e置超時(shí)而被 MySQL 斷開。
    修改 c3p0 的配置文件,設(shè)置:
    # Prevent MySQL raise exception after a long idle time
    cpool.preferredTestQuery
    ='SELECT 1'
    cpool.idleConnectionTestPeriod
    =18000
    cpool.testConnectionOnCheckout
    =true
    修改 Spring 的配置文件:
    <bean id="dataSource"
        class
    ="com.mchange.v2.c3p0.ComboPooledDataSource">
        
    <property name="preferredTestQuery"
            value
    ="${cpool.preferredTestQuery}" />
        
    <property name="idleConnectionTestPeriod"
            value
    ="${cpool.idleConnectionTestPeriod}" />
        
    <property name="testConnectionOnCheckout"
            value
    ="${cpool.testConnectionOnCheckout}" />
        
    <!-- other properties -->
    </bean>

    附:以下 awk 腳本可以用以將 c3p0.properties 文件中的屬性設(shè)置轉(zhuǎn)換成為 applicationContext.xml 中 數(shù)據(jù)庫連接池 DataSource 所需的 XML 元素形式。
    #!/bin/awk

    BEGIN {
        FS
    ="=";
    }
    {
        
    if (NF == 2) {
            
    if ((x=index($1, ".")) > 0) {
                property_name 
    = substr($1, x+1, length($1));
            } 
    else {
                property_name 
    = $1;
            }
            printf
    ("<property name="%s" value="${%s}"/> ", property_name, $1);
        }
    }
    posted on 2014-12-15 20:15 abin 閱讀(745) 評(píng)論(0)  編輯  收藏 所屬分類: dbConnectPool

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 久久国产乱子伦免费精品| 成人免费ā片在线观看| 亚洲第一成年免费网站| 亚洲最大视频网站| 中文字幕无码播放免费| 亚洲av永久综合在线观看尤物| 最近免费最新高清中文字幕韩国| 亚洲精品在线免费观看视频| 中文字幕亚洲免费无线观看日本| 亚洲国产成AV人天堂无码| 免费国产黄线在线观看| 亚洲a无码综合a国产av中文| 亚洲午夜成人精品电影在线观看| caoporm碰最新免费公开视频| 亚洲国产一成人久久精品| 95老司机免费福利| 亚洲一级视频在线观看| 精品国产免费观看久久久| 一区二区免费在线观看| 亚洲精品国产成人片| 最好看的中文字幕2019免费| 91亚洲性爱在线视频| 国产国产成年年人免费看片| 91国内免费在线视频| 亚洲人妖女同在线播放| 国产猛烈高潮尖叫视频免费| a视频在线观看免费| 亚洲av无码电影网| 亚洲国产人成精品| 无码av免费网站| 亚洲AV无码一区二区乱子仑| 国产亚洲美女精品久久久2020 | 毛片免费全部免费观看| 一区二区三区视频免费观看| 亚洲尹人香蕉网在线视颅| 日韩免费a级在线观看| 免费人成网站在线观看不卡| 亚洲国产精品无码久久| 久久久久亚洲AV片无码| 国产免费av片在线播放| 4虎1515hh永久免费|