设为首页 收藏本站
查看: 691|回复: 0

[经验分享] Spring通过JNDI获取在Tomcat容器中配置的C3P0数据源

[复制链接]

尚未签到

发表于 2018-12-3 09:35:08 | 显示全部楼层 |阅读模式
  开始直接使用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




java:comp/env/jdbc/DB






  

  出现的问题:
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文件,难道我错了吗?如果有朋友有好的见解,欢迎交流指正,互相学习!
  

  

  

  

  

  





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-642657-1-1.html 上篇帖子: centos6.5下一个tomcat下部署多个程序方法 下篇帖子: 部署tomcat负载均衡集群,实现节点之间内存中的Session共享。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表