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

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

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

    OMG,到底在尋找什么..................
    (構(gòu)造一個(gè)完美的J2EE系統(tǒng)所需要的完整知識(shí)體系)
    posts - 198,  comments - 37,  trackbacks - 0
    最近的一個(gè)項(xiàng)目在Hibernate使用C3P0的連接池,數(shù)據(jù)庫為Mysql。開發(fā)測(cè)試沒有問題,在運(yùn)行中每個(gè)一段長的空閑時(shí)間就出現(xiàn)異常:
    java 代碼
    1. org.hibernate.exception.JDBCConnectionException:?could?not?execute?query ??
    2. ????at?org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:74) ??
    3. ????at?org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43) ??
    4. ????....... ??
    5. Caused?by:?com.mysql.jdbc.exceptions.MySQLNonTransientConnectionException:?No?operations?allowed?after?connection?closed.Connection?was?implicitly?closed?due?to?underlying?exception/error: ??
    6. ??
    7. ??
    8. **?BEGIN?NESTED?EXCEPTION?**? ??
    9. ??
    10. com.mysql.jdbc.CommunicationsException ??
    11. MESSAGE:?Communications?link?failure?due?to?underlying?exception:? ??
    12. ??
    13. **?BEGIN?NESTED?EXCEPTION?**? ??
    14. ??
    15. java.net.SocketException ??
    16. MESSAGE:?Broken?pipe ??
    17. ??
    18. STACKTRACE: ??
    19. ??
    20. java.net.SocketException:?Broken?pipe ??
    21. ????at?java.net.SocketOutputStream.socketWrite0(Native?Method) ??
    22. ????...... ??
    23. **?END?NESTED?EXCEPTION?** ??

    查看了Mysql的文檔,以及Connector/J的文檔以及在線說明發(fā)現(xiàn),出現(xiàn)這種異常的原因是:

    ?? Mysql服務(wù)器默認(rèn)的“wait_timeout”是8小時(shí),也就是說一個(gè)connection空閑超過8個(gè)小時(shí),Mysql將自動(dòng)斷開該connection。這就是問題的所在,在C3P0 pools中的connections如果空閑超過8小時(shí),Mysql將其斷開,而C3P0并不知道該connection已經(jīng)失效,如果這時(shí)有Client請(qǐng)求connection,C3P0將該失效的Connection提供給Client,將會(huì)造成上面的異常。

    解決的方法有3種:

    1. 增加wait_timeout的時(shí)間。
    2. 減少Connection pools中connection的lifetime。
    3. 測(cè)試Connection pools中connection的有效性。

    當(dāng)然最好的辦法是同時(shí)綜合使用上述3種方法,下面就DBCP和C3P0分別做一說明,假設(shè)wait_timeout為默認(rèn)的8小時(shí)

    DBCP增加以下配置信息:

    1. //set?to?'SELECT?1' ??
    2. validationQuery?=?"SELECT?1"??
    3. //set?to?'true' ??
    4. testWhileIdle?=?"true"? ??
    5. //some?positive?integer ??
    6. timeBetweenEvictionRunsMillis?=?3600000??
    7. //set?to?something?smaller?than?'wait_timeout' ??
    8. minEvictableIdleTimeMillis?=?18000000??
    9. //if?you?don't?mind?a?hit?for?every?getConnection(),?set?to?"true" ??
    10. testOnBorrow?=?"true"??

    C3P0增加以下配置信息:

    1. //set?to?'SELECT?1'??? ??
    2. preferredTestQuery?=?'SELECT?1'? ??
    3. ?//set?to?something?much?less?than?wait_timeout,?prevents?connections?from?going?stale ??
    4. idleConnectionTestPeriod?=?18000?? ??
    5. //set?to?something?slightly?less?than?wait_timeout,?preventing?'stale'?connections?from?being?handed?out ??
    6. maxIdleTime?=?25000? ??
    7. //if?you?can?take?the?performance?'hit',?set?to?"true" ??
    8. testConnectionOnCheckout?=?true????

    更多的配置信息大家可以查看C3P0文檔,Connector/J文檔,以及DBCP的文檔

    posted on 2006-12-25 19:01 OMG 閱讀(660) 評(píng)論(0)  編輯  收藏 所屬分類: Hibernate

    <2006年12月>
    262728293012
    3456789
    10111213141516
    17181920212223
    24252627282930
    31123456

    常用鏈接

    留言簿(1)

    隨筆分類

    隨筆檔案

    IT風(fēng)云人物

    文檔

    朋友

    相冊(cè)

    經(jīng)典網(wǎng)站

    搜索

    •  

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 免费网站看v片在线香蕉| 大陆一级毛片免费视频观看| 青青草原亚洲视频| 无遮挡国产高潮视频免费观看| 国产精品国产午夜免费福利看| 亚洲精品9999久久久久无码| 麻豆成人精品国产免费| 国产成人亚洲综合无| 免费乱理伦在线播放| 国产99久久久国产精免费| 国产亚洲精品a在线观看| 国产一区二区三区免费| 亚洲国产精品lv| 免费精品国产自产拍在线观看图片 | 91成人在线免费观看| 久久精品国产亚洲AV香蕉| 国产福利视精品永久免费| 亚洲欧洲日韩国产一区二区三区| 国产99视频精品免费观看7| 亚洲第一成年免费网站| 亚洲国产成人久久综合区| 女人隐私秘视频黄www免费| 久久精品国产亚洲av影院| 午夜色a大片在线观看免费| 免费一级全黄少妇性色生活片 | 国产在线播放线91免费| 亚洲精品福利视频| 成人片黄网站色大片免费| 日本精品久久久久久久久免费 | 亚洲成aⅴ人片在线影院八| 午夜影视在线免费观看| 一出一进一爽一粗一大视频免费的 | 亚洲日本VA午夜在线影院| 亚洲精品视频在线看| 最近最好最新2019中文字幕免费| 日本亚洲色大成网站www久久| 免费大片在线观看网站| 午夜网站在线观看免费完整高清观看 | 亚洲Av永久无码精品黑人| 久久久久亚洲爆乳少妇无| 免费视频爱爱太爽了|