代码之家  ›  专栏  ›  技术社区  ›  asalamon74

Proxool最大连接数

  •  0
  • asalamon74  · 技术社区  · 17 年前

    我正在使用 proxool java连接池(版本0.9.1)。一切正常,直到我达到最大连接数。如果达到最大连接计数,proxool将立即抛出 SQLExcepion :

    java.sql.SQLException: Couldn't get connection because we are at maximum 
    connection count (n/n) and there are none available
    

    n 将显示最大连接数。

    为什么proxool会抛出一个错误 SQLException

    我不知道这是否重要,但我正在TomcatJ2EE应用程序中使用proxool。proxool的参数在中定义 context.xml 我正在使用 Proxool DataSource Support

    3 回复  |  直到 17 年前
        1
  •  2
  •   rics    17 年前

    我在问proxool邮件列表上的问题,我很快得到了一个答案,但不幸的是,答案是否定的 answer .

        2
  •  1
  •   jdigital    17 年前

    我快速查看了源代码,这看起来像ConnectionPool.getConnection的标准行为。这个 documentation 我也这么说。

        3
  •  0
  •   Winston Chen    17 年前

    您可以使用Thread.sleep()来处理它。

    public Connection getConnection() throws SQLException {
        Connection conn = null;
        while (conn ==null){
          try {
            conn = DriverManager.getConnection("proxool."+connectionPoolAlias);
          } catch (SQLException e) {
            e.printStackTrace();
            String methodName =e.getStackTrace()[0].getMethodName();
            if (methodName.equalsIgnoreCase("checkSimultaneousBuildThrottle") || 
                                         methodName.equalsIgnoreCase("quickRefuse")){
              try{
                Thread.sleep(500);
              }catch( InterruptedException ie){}
            }else{
              throw e;
            }
          }
        }
        return conn;
      }
    
    推荐文章