3" $% & '() &* + , - . '/0 12 34 5 67 89 :; <= > &? & @ AB CDE #F G #H IJ (& K LM NO@Y ,P ,Q R (S T (U (V (W (X (Y Z[ (\ ']^ (_` (ab (cd (e fg (h i (j k lmn 'opq #rst Tu 'v wxyz ({ (|} ~ ( ( # duu0 (  ' . ' f                    f uinstance2Ledu/ucsb/nceas/metacat/database/DBConnectionPool;connectionPoolLjava/util/Vector; SignatureBLjava/util/Vector;runnerLjava/lang/Thread;_countOfReachMaximumI logMetacatLorg/apache/log4j/Logger; _maxConnNum _initConnNum _incrConnNum_maxAgeJ _maxConnTime _maxUsageNum_connCountWarnLimit_dbConnRecyclThrdLjava/lang/String;_cyclTimeDbConnMAXIMUMCONNECTIONNUMBERINITIALCONNECTIONNUMBERINCREASECONNECTIONNUMBER MAXIMUMAGEMAXIMUMCONNECTIONTIMEMAXIMUMUSAGENUMBERDBCONNECTIONRECYCLETHREADCYCLETIMEOFDBCONNECTIONLIMIT ConstantValueFREEBUSY getInstance4()Ledu/ucsb/nceas/metacat/database/DBConnectionPool;CodeLineNumberTableLocalVariableTablelog StackMapTable Exceptions()Vthis%getSizeOfDBConnectionPool()IinitialDBConnectionPoolidbConn.Ledu/ucsb/nceas/metacat/database/DBConnection;JgetDBConnectionB(Ljava/lang/String;)Ledu/ucsb/nceas/metacat/database/DBConnection;jeLjava/lang/Exception; methodNamedbrandomindexsizesvalidateDBConnection1(Ledu/ucsb/nceas/metacat/database/DBConnection;)Z startTimemetaDataLjava/sql/DatabaseMetaData;stopTimereturnDBConnection2(Ledu/ucsb/nceas/metacat/database/DBConnection;I)Vconn serialNumbergetIndexOfPoolForConnection1(Ledu/ucsb/nceas/metacat/database/DBConnection;)IinforeleaseLjava/sql/SQLException;rungetFreeDBConnectionNumbernumberOfFreeDBConnetionpoolSizeprintBusyDBConnections(I)V dbConnectionusedConnectionCountshowCountWarningZ warnMessageshrinkConnectionPoolSize()ZconnectionPoolSizefreeConnectionSize difference hasExceptionresultshrinkDBConnectionPoolSizepnfe4Ledu/ucsb/nceas/utilities/PropertyNotFoundException; SourceFileDBConnectionPool.java 0edu/ucsb/nceas/metacat/database/DBConnectionPool  java/lang/StringBuilder8DBConnectionPool.getInstance - MaximumConnectionNumber:    9DBConnectionPool.getInstance - Intial connection number: DBConnectionPool.getInstance - Running recycle thread or not: 6DBConnectionPool.getInstance - Cycle time of recycle: java/util/Vector on java/lang/Thread   ,edu/ucsb/nceas/metacat/database/DBConnection  java/lang/Double           BDBConnectionPool.getDBConnection - The connection is checked out:  ?DBConnectionPool.getDBConnection - The method for checking is: .DBConnectionPool.getDBConnection - The age is 0DBConnectionPool.getDBConnection - The usage is ;DBConnectionPool.getDBConnection - The connection time is:      2DBConnectionPool.getDBConnection - The maximum of T open db connections is reached. New db connection to MetaCat cannot be established. "finally could not get dbconnectionKDBConnectionPool.getDBConnection - sleep 5000ms, could not get dbconnection java/lang/Exception6DBConnectionPool.getDBConnection - General exception:   KDBConnectionPool.validateDBConnection - Connection usageCount is too high: QDBConnectionPool.validateDBConnection - Connection has too much connection time: ?DBConnectionPool.validateDBConnection - Connection is too old:  6DBConnectionPool.validateDBConnection - General error:     java/sql/SQLException8DBConnectionPool.release - Error in release connection: =DBConnectionPool.run - This DBConnection is checked out for:  secsDBConnectionPool.run - DBConnectionPool.run - method:   .DBConnectionPool.run - Warning for connection  :   Checking if the db connection 5 is valid according to metacat.properties parameters.  <@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Checking if the db connection  *DB connection is not valid! Releasing it.DBConnectionPool.run - Recyle: 1@@@@@@@@@@@@@@@@@@@@@@@@@db connection released: "DBConnectionPool.run - SQL error: number of connections in pool: connection pool capacity: &DBConnectionPool.run - General error:    --- Method:  is using:  for  ms MDBConnectionPool.printBusyDBConnections - Excessive connection time, method: *DBConnectionPool.printBusyDBConnections - ( DB connections currently busy because:  ,DBConnectionPool.shrinkConnectionPoolSize - 6 connection(s) being used and connection pool size is BDBConnectionPool.shrinkConnectionPoolSize - Connection pool size: DDBConnectionPool.shrinkConnectionPoolSize - Free Connection number: ;DBConnectionPool.shrinkConnectionPoolSize - SQL Exception: .DBConnectionPool.shrinkDBConnectionPoolSize - DDBConnectionPool.shrinkDBConnectionPoolSize - Connection pool size: FDBConnectionPool.shrinkDBConnectionPoolSize - Free Connection number: 9DBConnectionPool.shrinkDBConnectionPoolSize - SQL error: database.maximumConnections   database.initialConnections database.incrementConnections database.maximumConnectionAge database.maximumConnectionTime  database.maximumUsageNumber !database.connectionCountWarnLimit%database.runDBConnectionRecycleThread  database.cycleTimeOfDBConnection 2edu/ucsb/nceas/utilities/PropertyNotFoundException !(Could not get property in static block: java/lang/Objectjava/lang/Runnablejava/lang/Stringjava/lang/Throwablejava/util/Iteratororg/apache/log4j/Logger getLogger,(Ljava/lang/Class;)Lorg/apache/log4j/Logger;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;(I)Ljava/lang/StringBuilder;toString()Ljava/lang/String;debug(Ljava/lang/Object;)V(J)Ljava/lang/StringBuilder;equals(Ljava/lang/Object;)Z(Ljava/lang/Runnable;)Vstartaddjava/lang/Math()D(D)VintValue elementAt(I)Ljava/lang/Object; getStatus setStatusincreaseCheckOutSerialNumberincreaseUsageCountsetCheckOutMethodName(Ljava/lang/String;)V setAutoCommit(Z)VgetTagtracegetCheckOutMethodNamegetAge()J getUsageCountgetConnectionTimejava/lang/SystemcurrentTimeMillissetCheckOutTime(J)VcloseremoveinsertElementAt(Ljava/lang/Object;I)Vfatalsleep getMessageerror getMetaData()Ljava/sql/DatabaseMetaData;setConnectionTimegetCheckOutSerialNumbergetCheckOutTime interruptgetWarningMessage()Ljava/sql/SQLWarning;-(Ljava/lang/Object;)Ljava/lang/StringBuilder;warnoutLjava/io/PrintStream;java/io/PrintStreamprintlncapacityiterator()Ljava/util/Iterator;hasNextnext()Ljava/lang/Object;1edu/ucsb/nceas/metacat/properties/PropertyService getProperty&(Ljava/lang/String;)Ljava/lang/String;java/lang/IntegerparseInt(Ljava/lang/String;)Ijava/lang/Long parseLong(Ljava/lang/String;)Jerr!  )CۻYK*Y *Y  *Y *Y *Y *Y *Y *Y 2 /Haz d/*Y* !"#Y*$%%&(. / .d1' "L=(Y)L+*W ! "  d) +L=>6'66,Y-.k01=6`p>2(L+3+4+5+6+7+*8+9:Y;+< =:Y>+? =:Y@+A =:YB+C =:YD+E =+FGH++IJW(Y)L+K ^` )6(Y):*W`6 (Y):*Wq:YL M NH`HH H:ON:P QS"::YUV W*XT7 &8BJU\chmrw|  !) 17=)E+Q/\1e2n/w9;<9GJKMNOVW\Y[cz ; e T  } 8 =Pd {*C!:YY*C *E!:YZ*E *A!:Y[*A F@*\NF7*7*e]"L:Y^+V WzT^s uv#u&w({3}C~L}OQ\xz~4~  (((])9=N*_=*`$2(N-5-F-ae]- G2  "'(38*9975 (*O<M**'&2(:,<"< : *6BDGM46 -OMK &  c!" %cYK<'82(M,I M:Ye,f W*çN*-#25dZ]]`]: # . 256FORXb .6?[D  A LYM>'Ų2(L+3sF+aegd:YiF+aejml N:Ym+< N:Yn+? W+35+o+:Yp+<q+or s:Yt+uv wxYy+uv z+4_x{z:Y|+< +IJW(Y)L+KxY}+u z"::Y~f WxY' zxY z7,ç :,SM:Y,V WrudT&"$&*'+6-E.\-_/{05:<=<?@BDE:G>IFKNLVMrSuPwRUV$Z^c`bc4w   * 5B;D H* 1;L='=>2(L+3* lmnp ruw&y)r/}* / -+  <bMN--(:3>Y,?<A ME?:Y?<E s\%:Y , sB +48Ws*+  @ [G%);<=>6:';<d=(:Y  w5:Y w:Y w_Xd6K2(:I$:>:Yf WJW66dn "G`yRP G1\ );<=N';<d=(:Y  w5:Y :Y _Xd6K2(N-32-I"::Yf WJWd^ E^w  %>PE1aH: KY* z  mp*34 VWVXYX"Z$['Z-\/]2\9^;_>^D`FaI`ObQcTbZd\ebfdggfmkphqijimnopqrstu q p!"#