好久沒有親自寫**了,基本都是從自己多年來積累的一些源程式直接拷貝、修改。
但近來幫朋友做個小辦公系統時,發現乙個奇怪的現象,特此寫出來,供自己日後備忘,同時,也給遇到相同問題的同行乙個參考。
在tomcat5.0中,我部署的連線池是可以正常使用的,但到了6.0就報出錯誤:
org.apache.tomcat.dbcp.dbcp.sqlnestedexception: cannot create jdbc driver of class '' for connect url 'null'
資料庫為mssql server 2000sp2,配置**為(server.xml部分):
factory
org.apache.commons.dbcp.basicdatasourcefactory
maxactive
150maxidle
150maxwait
10000
username
sapassword
123removeabandoned
true
removeabandonedtimeout
20logabandoned
true
driverclassname
net.sourceforge.jtds.jdbc.driver
urljdbc:jtds:sqlserver://192.168.1.175:1433/tan
問題搞懵了!!難道6.0不相容5.0???
將原來的專案放到6.0下,竟然也報同樣的錯誤!!
沒辦法了,看看doc(http://127.0.0.1:8080/docs/jndi-datasource-examples-howto.html)
直接從它上面複製示例**,修改路徑、驅動、使用者和密碼等,如下:
儲存後,啟動tomcat,測試頁開啟了!!
高興的同時,不僅要問:為什麼?why?なぜ?
對比上面兩種寫法,前者比後者多了幾個引數,各個去掉,測試,不行!全部去掉,還是不行!
乙個非常極端的想法從我心底產生了!難道6.0中不支援第一種寫法了!!
應該不會吧!相容,一直是我們軟體開發的乙個重要點啊!
時間精力都有限,這個問題暫時留下。
連線池與使用Tomcat的連線池
what is connection pool?看圖 1 存放connection物件的容器 2 減少連線資料庫的開銷 3 程式請求連線時,在connection pool中取連線 4 連線使用完後,放回connection pool,不釋放 5 connection pool對連線進行管理 計數 ...
tomcat 連線池配置
maxidle,最大空閒數,資料庫連線的最大空閒時間。超過空閒時間,資料庫連線將被標記為不可用,然後被釋放。設為0表示無限制。maxactive,連線池的最大資料庫連線數。設為0表示無限制。maxwait 最大建立連線等待時間。如果超過此時間將接到異常。設為 1表示無限制。maxactive 最大連...
連線池問題
connection耗盡不一定就是由connection leak引起,如果你的執行佇列中線程數設定的比connection pool大,而且你的某些程式占用connection時間過長,致使執行佇列中的執行緒已經把connection pool中的所有的connection都申請出來了,此時如果再...