c3p0連接池
//測(cè)試方法
//初始化時(shí)獲取三個(gè)連接,取值應(yīng)在minPoolSize與maxPoolSize之間。Default: 3 initialPoolSize
cpds.setInitialPoolSize(initialPoolSize);
//連接池中保留的最大連接數(shù)。Default: 15 maxPoolSize
cpds.setMaxPoolSize(maxPoolSize);
//連接池中保留的最小連接數(shù)。
cpds.setMinPoolSize(minPoolSize);
//獲得連接的最大等待毫秒數(shù)。Default: 1000 acquireRetryDelay
cpds.setAcquireRetryDelay(acquireRetryDelay);
//最大空閑時(shí)間,60秒內(nèi)未使用則連接被丟棄。若為0則永不丟棄。Default: 0 maxIdleTime
cpds.setMaxIdleTime(maxIdleTime);
//當(dāng)連接池中的連接耗盡的時(shí)候c3p0一次同時(shí)獲取的連接數(shù)。Default: 3 acquireIncrement
//cpds.setAcquireIncrement(3);
//每60秒檢查所有連接池中的空閑連接。Default: 0 idleConnectionTestPeriod
//cpds.setIdleConnectionTestPeriod(60);
//連接關(guān)閉時(shí)默認(rèn)將所有未提交的操作回滾。Default: false autoCommitOnClose
//cpds.setAutoCommitOnClose(true);
//JDBC的標(biāo)準(zhǔn)參數(shù),用以控制數(shù)據(jù)源內(nèi)加載的PreparedStatements數(shù)量。但由于預(yù)緩存的statements屬于單個(gè)connection而不是整個(gè)連接池。所以設(shè)置這個(gè)參數(shù)需要考慮到多方面的因素。如果maxStatements與maxStatementsPerConnection均為0,則緩存被關(guān)閉。Default: 0
//cpds.setMaxStatements(1);
//maxStatementsPerConnection定義了連接池內(nèi)單個(gè)連接所擁有的最大緩存statements數(shù)
//cpds.setMaxStatementsPerConnection(100);
//定義所有連接測(cè)試都執(zhí)行的測(cè)試語句。在使用連接測(cè)試的情況下這個(gè)一顯著提高測(cè)試速度。注意:測(cè)試的表必須在初始數(shù)據(jù)源的時(shí)候就存在。Default: null preferredTestQuery
//cpds.setPreferredTestQuery("select sysdate from dual");
// 因性能消耗大請(qǐng)只在需要的時(shí)候使用它。如果設(shè)為true那么在每個(gè)connection提交的
// 時(shí)候都將校驗(yàn)其有效性。建議使用idleConnectionTestPeriod或automaticTestTable
// 等方法來提升連接測(cè)試的性能。Default: false testConnectionOnCheckout
//cpds.setTestConnectionOnCheckout(true);
//如果設(shè)為true那么在取得連接的同時(shí)將校驗(yàn)連接的有效性。Default: false testConnectionOnCheckin
//cpds.setTestConnectionOnCheckin(true);
//定義在從數(shù)據(jù)庫獲取新連接失敗后重復(fù)嘗試的次數(shù)。Default: 30 acquireRetryAttempts
//cpds.setAcquireRetryAttempts(30);
//獲取連接失敗將會(huì)引起所有等待連接池來獲取連接的線程拋出異常。但是數(shù)據(jù)源仍有效
//保留,并在下次調(diào)用getConnection()的時(shí)候繼續(xù)嘗試獲取連接。如果設(shè)為true,那么在嘗試
//獲取連接失敗后該數(shù)據(jù)源將申明已斷開并永久關(guān)閉。Default: false breakAfterAcquireFailure
//cpds.setBreakAfterAcquireFailure(false);
java.lang.AbstractMethodError: oracle.jdbc.driver.OracleResultSetImpl.getClob(異常解決辦法
最近遇到了一個(gè)頭痛的問題,可能大家也遇到過。經(jīng)過多番的詢問與查找,終于知道問題原因的所在:異常內(nèi)容如下:
java.lang.AbstractMethodError: oracle.jdbc.driver.OracleResultSetImpl.getClob(Ljava/lang/String;)Ljava/sql/Clob;
問題原因:Oracle驅(qū)動(dòng)版本不對(duì)
解決辦法:在Oracle服務(wù)器上找到這個(gè)驅(qū)動(dòng),然后cp到Apache的lib目錄下,并同是修改環(huán)境變量classpath,保證這個(gè)lib/classes12.jar在最前面;修改完后,重新啟動(dòng)服務(wù),問題就可以解決。
posted on 2012-09-20 15:21 甜咖啡 閱讀(5964) 評(píng)論(0) 編輯 收藏