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

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

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

    隨筆-35  評論-33  文章-0  trackbacks-0
      2017年6月29日

          已經(jīng)一個多月沒有寫東西了,不過最近確實很忙。前兩天在線上碰到一個C3P0的鏈接死鎖的異常,話說這個上古神物 ,我已經(jīng)是很久不碰了。先貼異常



    異常截圖

    "apparent deadlocks":名詞解釋是說c3p0拿到鏈接之后,最終使用之后沒有返回到pool,導致死鏈檢測失敗。經(jīng)過在stack Overflow檢索,https://stackoverflow.com/questions/3730844/c3p0-apparent-deadlock-when-the-threads-are-all-empty.發(fā)現(xiàn)增加一個statementCacheNumDeferredCloseThreads該參數(shù)的定義,就可以避免這個問題。

    經(jīng)過查看官方文檔:http://www.mchange.com/projects/c3p0/#statementCacheNumDeferredCloseThreads



    解釋:如果把該值設為超過1,statement的緩存就會自動跟蹤當前可用的connections,如果沒有再用,就會自動銷毀掉。如果需要另外的線程來專門銷毀緩存的statement,則還需要設置maxStatements與maxStatementsPerConnection。

    再貼一個官方的說明:

    Configuring Statement Pooling

    c3p0 implements transparent PreparedStatement pooling as defined by the JDBC spec. Under some circumstances, statement pooling can dramatically improve application performance. Under other circumstances, the overhead of statement pooling can slightly harm performance. Whether and how much statement pooling will help depends on how much parsing, planning, and optimizing of queries your databases does when the statements are prepared. Databases (and JDBC drivers) vary widely in this respect. It's a good idea to benchmark your application with and without statement pooling to see if and how much it helps.

    You configure statement pooling in c3p0 via the following configuration parameters:

    maxStatements

    maxStatementsPerConnection

    statementCacheNumDeferredCloseThreads

    maxStatementsis JDBC's standard parameter for controlling statement pooling.maxStatementsdefines the total numberPreparedStatementsa DataSource will cache. The pool will destroy the least-recently-used PreparedStatement when it hits this limit. This sounds simple, but it's actually a strange approach, because cached statements conceptually belong to individual Connections; they are not global resources. To figure out a size formaxStatementsthat does not "churn" cached statements, you need to consider the number offrequently usedPreparedStatements in your application,and multiply that by the number of Connections you expect in the pool (maxPoolSizein a busy application).

    maxStatementsPerConnectionis a non-standard configuration parameter that makes a bit more sense conceptually. It defines how many statements each pooled Connection is allowed to own. You can set this to a bit more than the number ofPreparedStatementsyour applicationfrequentlyuses, to avoid churning.

    If either of these parameters are greater than zero, statement pooling will be enabled. If both parameters are greater than zero, both limits will be enforced. If only one is greater than zero, statement pooling will be enabled, but only one limit will be enforced.

    大概意思就是這兩個,有一個值如果大于0,c3p0的statement pool就會發(fā)生作用。

    以上所有的配置都是基于c3p0的最新版本。PS一下,還是2015年的JAR。



    通過引入最新的C3P0包,另外增加了兩段配置,線上觀察兩天,問題解決。



    最后打個小廣告,JAVA世界最快的JDBC連接池,非HikariCP莫屬。已經(jīng)甩c3p0好幾個街角,有圖有真像。



    posted @ 2017-11-10 15:25 alexcai 閱讀(1800) | 評論 (0)編輯 收藏
         摘要: 在word的處理之中,文字,各種類型的圖片,最復雜的公式,之前編寫的API基本都覆蓋了。不過,昨天在做一個文檔測試時,發(fā)現(xiàn)表格沒有能很好的處理。  閱讀全文
    posted @ 2017-08-25 15:54 alexcai 閱讀(757) | 評論 (0)編輯 收藏
         摘要: HDFS和MapReduce是Hadoop的兩大核心,除此之外Hbase、Hive這兩個核心工具也隨著Hadoop發(fā)展變得越來越重要。今天我們只初步的看看HDFS.  閱讀全文
    posted @ 2017-07-24 10:35 alexcai 閱讀(663) | 評論 (0)編輯 收藏
         摘要: 使用thrift已經(jīng)有段時間了,目前基本是clien+server的方式,負載是通過nginx來處理。這種處理方式有兩個比較大的弊端:  閱讀全文
    posted @ 2017-06-29 16:39 alexcai 閱讀(882) | 評論 (0)編輯 收藏
    主站蜘蛛池模板: 亚洲综合免费视频| 老司机午夜性生免费福利| 日本高清免费不卡视频| 高清永久免费观看| 2020国产精品亚洲综合网| 亚洲精品tv久久久久| 97公开免费视频| 无码色偷偷亚洲国内自拍| 亚洲a一级免费视频| 日韩精品免费一区二区三区| 久久精品免费视频观看| 狠狠入ady亚洲精品| 亚洲美女一区二区三区| 全亚洲最新黄色特级网站 | 一级一看免费完整版毛片| 亚洲综合亚洲国产尤物| 亚洲国产综合人成综合网站| 中文字幕免费视频| 一级午夜免费视频| 99久久国产亚洲综合精品| 亚洲va久久久噜噜噜久久天堂 | 国产亚洲色视频在线| 最近2019中文字幕免费看最新| 中国在线观看免费的www| 国产精品亚洲综合一区在线观看| 亚洲丝袜美腿视频| 亚洲中文字幕第一页在线| 国产成人免费片在线视频观看| 成年黄网站色大免费全看| 99久久免费国产特黄| 国产亚洲高清在线精品不卡| 亚洲欧洲高清有无| 亚洲专区先锋影音| 日韩一卡2卡3卡4卡新区亚洲| 国产男女猛烈无遮挡免费视频 | 亚洲第一永久AV网站久久精品男人的天堂AV | 亚洲AV日韩精品久久久久| 国产成人99久久亚洲综合精品| 免费涩涩在线视频网| 中文字幕av无码无卡免费| 又大又硬又爽又粗又快的视频免费|