解决spring配置c3p0连接池,tomcat无法正常启动
為什么80%的碼農都做不了架構師?>>> ??
????今天下午收到一名網友的在線求助。先簡要描述一下問題的背景:
??? Windows平臺,tomcat應用服務器, Oracle數據庫,應用架構Spring使用c3p0數據源
????問題現象:tomcat在啟動過程中會堵塞8分鐘,然后報錯:
2014-1-5?20:44:10?org.hibernate.connection.ConnectionProviderFactory?newConnectionProvider 信息:?Initializing?connection?provider:?org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider 2014-1-5?20:52:00?org.hibernate.util.JDBCExceptionReporter?logExceptions 警告:?SQL?Error:?0,?SQLState:?null 2014-1-5?20:52:00?org.hibernate.util.JDBCExceptionReporter?logExceptions 嚴重:?Connections?could?not?be?acquired?from?the?underlying?database! 2014-1-5?20:52:00?org.hibernate.cfg.SettingsFactory?buildSettings 警告:?Could?not?obtain?connection?metadata java.sql.SQLException:?Connections?could?not?be?acquired?from?the?underlying?database! //...省略棧信息 Caused?by:?com.mchange.v2.resourcepool.CannotAcquireResourceException:?A?ResourcePool?could?not?acquire?a?resource?from?its?primary?factory?or?source.????這個問題很常見,所以我給出了以下幾條解決思路:
????1. 檢查數據庫配置文件是否正確:驅動名 url 用戶名 口令 端口 數據庫
??? 2. jdbc驅動包版本是否一致
??? 3. 數據庫服務是否正常啟動
??? 4. 用項目配置文件的配置,寫一個java程序能否正常連接
??? 通過第四步發現可以正常連接,那就排除了前面3種可能。緊接著,我又細細的看了他spring的配置文件,發現也沒有什么問題。這時候我又感覺會不會是防火墻的因素,通過tomcat連數據庫時不允許,后來去看了他的防火墻,果然開著,然后我將所有的策略關閉后,再試,還是不行。看來問題不在這里。
????現在唯一能肯定的就是連接數據庫連不上,那問題出在哪里呢?忽然我想起來一個事情,大家平時都習慣了用MyEclipse,喜歡用MyEclipse部署自己的項目,那么之前的項目部署后在不用的時候并沒有remove掉,所以啟動的時候很有可能是在加載另外一個項目時堵塞,抱著試一試的心態,我將本項目remove掉,重啟tomcat,果然還卡在那里,問題的原因找到了。這樣導致tomcat無法啟動,也沒有辦法通過登錄他的配置管理系統來停止其余的應用。最后只能將tomcat目錄下webapps下的項目都刪掉,然后啟動后在部署,運行正常!
轉載于:https://my.oschina.net/vbird/blog/190588
總結
以上是生活随笔為你收集整理的解决spring配置c3p0连接池,tomcat无法正常启动的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 重新封装一个iptables防止规则重复
- 下一篇: OpenCv cv::Mat 转 Ipl