0
嗨,我們使用的是Tomcat 6和context.xml的是像下面Tomcat的數據庫連接泄漏
<Context>
<Resource defaultAutoCommit="false" defaultReadOnly="false"
driverClassName="oracle.jdbc.driver.OracleDriver"
fairQueue="false" initialSize="${DBPool.initialPoolSize}"
jdbcInterceptors="ConnectionState;StatementFinalizer"
jmxEnabled="true" logAbandoned="false" maxActive="${DBPool.maxPoolSize}"
maxIdle="30" maxWait="30000"
minEvictableIdleTimeMillis="5000" minIdle="${DBPool.minPoolSize}"
name="jdbc/BankDBPool" password="${DBPool.bankPassword}"
removeAbandoned="true" removeAbandonedTimeout="60"
testOnBorrow="false" testOnReturn="true"
testWhileIdle="false" timeBetweenEvictionRunsMillis="5000"
type="javax.sql.DataSource"
url="${DBPool.jdbcUrl}"
factory="uk.co.xxxx.encryption.dbcp.DecryptingBasicDataSourceFactory"
useEquals="false" username="${DBPool.bankUser}" validationInterval="30000" validationQuery="select 1 from dual" />
</Context>
DBPool.maxPoolSize=400
DBPool.minPoolSize=15
DBPool.initialPoolSize=15
的問題是我們要設置maxPoolSize非常高,因爲它是給連接不可用異常。 數據庫監視器工具正在顯示連接閒置,但似乎無法重用。這個應用程序的流量非常低。每天大約10000次點擊。
我們正試圖找出可能是什麼問題。
我所有的服務方法都標明 @Transactional(傳播= Propagation.REQUIRED,只讀= true或false)
DecryptingBasicDataSourceFactory只做返回數據源的工作。 我們使用spring和hibernate。
你能發佈'連接不可用異常'的堆棧跟蹤嗎? –