解决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无法正常启动相关推荐
- spring配置c3p0连接池、spring的声明式事务管理
一.spring配置c3p0连接池: 1.导入maven依赖: <!-- https://mvnrepository.com/artifact/com.mchange/c3p0 --> & ...
- Spring+Hibernate+c3p0连接池配置-连接无法释放的问题解决方案
1.Spring+Hibernate+c3p0连接池配置: <?xml version="1.0" encoding="UTF-8"?> < ...
- spring 整合c3p0连接池
个人博客:https://suveng.github.io/blog/ Spring 整合C3P0连接池 注意:环境 jdk1.8 ,idea 2018,maven,spring环境 代 ...
- Hibernate配置C3P0连接池(在配好基本的hibernate配置下使用)
拷贝jar包 找到我们的hibernate安装包,在lib目录下找到optional目录,打开c3p0文件,拷贝里面的jar包到eclipse里 写一个测试类,代码入下 public class C3 ...
- hibernate4配置c3p0连接池报错
在hibernate的xml文件中配置c3p0连接池时,运行报错: java.lang.ClassNotFoundException: Could not load requested class : ...
- MyBatis配置C3P0连接池
这两天学到Mybatis感觉就要疯了,第一次接触,我是不是应该写点笔记,下面呢,记录一下连接池的配置,防止忘了. 第一步,二话不说,先导入所需jar包(如图所示三个) 第二步,继承UnpooledDa ...
- Mysql超时重连解决方案3: 配置c3p0连接池(终极方案)
前面的文章中,我介绍了修改mysql默认超时时间和配置proxool连接池的方法来解决Mysql超时重连的问题.方案1不推荐,它并没有从根本上解决问题:方案2可用,但配置相对复杂:所有才有了方案3,它 ...
- 【重温SSM框架系列】2 - Spring配置数据源连接池(手动创建与配置)
Spring配置数据源) 数据源(连接池概述) 自定义数据源(手动创建) 1. 导入Druid和mysql数据库驱动依赖包 2. 创建数据源对象并配置基本连接信息 使用JDBC操作数据库,打印user ...
- Hibernate 配置C3P0 连接池
第一步在hibernate.cfg.xml配置 <!-- 连接池 --><property name="hibernate.connection.provider_clas ...
最新文章
- c潭州课堂25班:Ph201805201 MySQL第二课 (课堂笔记)
- python变量域名_Python实现从url中提取域名的几种方法
- AI 如何推进全球可持续发展?
- Linux用户环境变量
- oracle 打印SQL
- 汉诺塔 X HDU - 2511
- python简单爬虫课题_VS2019python爬虫入门
- html表单自动提交表单提交表单数据类型,表单
- 第十天:SwiftGoodAsOldPhones
- 拼多多上线“医药健康日” 将对最常用的OTC药品等进行补贴
- 电源-主动式PFC介绍
- android电视自动关机,Android定时关机问题解决
- java中的terminated_解决maven build 无反应,直接terminated的问题
- 关于.length与.length()的问题
- 浏览器被流氓软件修改了主页怎么办?
- 【设计】01-15个漂亮的网站UI设计作品案例欣赏
- MySQL Utilities
- 算术移位 VS 逻辑移位
- 兼容NSR20F30NXT5G的小体积肖特基二极管
- Java中单引号和双引号的区别