Spring通过JNDI获取在Tomcat容器中配置的C3P0数据源
2014-06-12 14:56
435 查看
开始直接使用Spring通过JNDI获取在Tomcat容器中配置的数据源,Tomcat默认的应该是DBCP连接池,没问题,一切OK,由于Hibernate和Spring都推荐使用C3P0连接池,所以就尝试配置一下,没想到整了半下午,才搞定配置,惭愧!网上的内容眼花缭乱,鱼龙混杂,不如自己靠谱!直接上代码,后面附出现的问题!
配置两个地方:
1.Tomcat\conf下的context.xml
2.Spring的配置文件
提示:
1.如果要优化连接池的性能,要对参数进行设置,具体的要看官网!官网最靠谱!官网是王道!
C3P0:http://www.mchange.com/projects/c3p0/
DBCP:http://commons.apache.org/proper/commons-dbcp/
2.C3P0的jar包要放在WEB-INF\lib中,也要放到Tomcat\lib包中
3.通过JNDI配置可以使项目与不同数据库的配置达到解耦的目的
context.xml
applicationContext.xml
出现的问题:
解决方法:
context.xml中,C3P0连接池的配置参数不正确,开始直接Copy上面的DBCP的配置,后来发现DBCP与C3P0的参数名字是不一样的,包括大小写一定要注意!
2.org.springframework.beans.ConversionNotSupportedException: Failed to convert property value of type 'com.mchange.v2.c3p0.mbean.C3P0PooledDataSource' to
required type 'javax.sql.DataSource' for property 'dataSource'
解决方法:
context.xml中,C3P0连接池的type值配置错误,配置成type="com.mchange.v2.c3p0.ComboPooledDataSource"就OK了!
其它问题就记不太清了!能用就好,有时间再研究优化配置及内部实现原理!
另:发现网上好多贴子说,要配置三处,还有一处是web.xml,但我可检测不需要配置web.xml文件,难道我错了吗?如果有朋友有好的见解,欢迎交流指正,互相学习!
配置两个地方:
1.Tomcat\conf下的context.xml
2.Spring的配置文件
提示:
1.如果要优化连接池的性能,要对参数进行设置,具体的要看官网!官网最靠谱!官网是王道!
C3P0:http://www.mchange.com/projects/c3p0/
DBCP:http://commons.apache.org/proper/commons-dbcp/
2.C3P0的jar包要放在WEB-INF\lib中,也要放到Tomcat\lib包中
3.通过JNDI配置可以使项目与不同数据库的配置达到解耦的目的
context.xml
1.javax.naming.NamingException: No set method found for property: username
解决方法:
context.xml中,C3P0连接池的配置参数不正确,开始直接Copy上面的DBCP的配置,后来发现DBCP与C3P0的参数名字是不一样的,包括大小写一定要注意!
2.org.springframework.beans.ConversionNotSupportedException: Failed to convert property value of type 'com.mchange.v2.c3p0.mbean.C3P0PooledDataSource' to
required type 'javax.sql.DataSource' for property 'dataSource'
解决方法:
context.xml中,C3P0连接池的type值配置错误,配置成type="com.mchange.v2.c3p0.ComboPooledDataSource"就OK了!
其它问题就记不太清了!能用就好,有时间再研究优化配置及内部实现原理!
另:发现网上好多贴子说,要配置三处,还有一处是web.xml,但我可检测不需要配置web.xml文件,难道我错了吗?如果有朋友有好的见解,欢迎交流指正,互相学习!
相关文章推荐
- Spring通过JNDI获取在Tomcat容器中配置的C3P0数据源
- 通过JNDI从服务器容器中获取资源_Spring JNDI+Mysql+Tomcat
- 配置Spring通过JNDI获取数据源
- 通过JNDI从服务器容器中获取资源_Spring JNDI+Mysql+Tomcat
- tomcat中配置jndi数据源以便spring获取
- Spring通过容器获取配置对象及事件注入(学习笔记二)
- Spring配置下通过tomcat的jndi服务连接数据库
- Spring配置数据源的三种方式 (dbcp,c3p0,jndi)
- tomcat+spring+jndi同时部署多个项目配置多数据源
- tomcat配置数据源通过JNDI访问mysql数据库
- Spring的数据源配置 DBCP、C3P0、JNDI
- Spring配置数据源的三种方式 (dbcp,c3p0,jndi).
- JNDI:如何在TOMCAT中配置数据源通过JNDI访问测试操作步骤
- spring配置下通过tomcat的jndi服务连接数据库
- 连接池、装饰设计模式、适配器设计模式、JNDI容器、DBCP、C3P0、Tomcat数据源
- spring下tomcat使用weblogic配置的jndi数据源
- spring配置下通过tomcat的jndi服务连接数据库
- tomcat中通过JNDI数据源配置使用
- Tomcat 配置jndi 通过spring调用