sql >> データベース >  >> RDS >> Mysql

c3p0では接続が利用できない場合があります

    接続リークが発生している可能性があります。巨大なプールサイズは実際にはそれを助けません。 こちら をご覧ください。 。

    付録:堅牢なリソースクリーンアップイディオム

    リソースを試す を使用できる場合に最適です。 。ただし、古いバージョンのJava(Java 7より前)を使用している場合、またはAutoCloseableを実装していないリソースを使用している場合 あなたはまだこの種のものに戻らなければならないかもしれません。

    Connection c     = null;
    OtherResource or = null;
    
    try
    {
       c  = cpds.getConnection();
       or = getOtherResource()
    
       // do stuff
       // ...
    }
    finally
    {
      try { if (or != null) or.close(); }
      catch (Exception e) { e.printStackTrace(); }
    
      try { if (c != null) c.close(); }
      catch (Exception e) { e.printStackTrace(); }
    }
    

    Connectionが取得され、各リソースのベストアテンプトclose()が存在する場合、finally句は確実に実行されることに注意してください:orの場合 close()に失敗しました。その例外によって、theConnectionをclose()しようとする試みが妨げられることはありません。

    あなたは非常に注意しなければなりません。ケインズが有名に言っているように、カップとリップをひねるスリップがたくさんあります。




    1. SQLServerの既存のテーブルに外部キー制約を追加する方法-SQLServer/TSQLチュートリアルパート68

    2. SELECTINTOが機能しない

    3. JSON列の配列の要素をクエリします

    4. mysqlデータベースロギングでのlog4netロギングエラー