C3P0的坑

1. 日志

C3P0自带了mchange-commons包, 里头自己实现了一个日志框架. 默认会用这个. 导致程序使用Logback而C3P0却用自己的mchange-commons. 要解决这个问题有两种方案:

a.配置mchange-commons

在CLASSPATH中新建 "mchange-log.properties" 文件.

#日志框架 默认是FallbackMLog
#com.mchange.v2.log.MLog=com.mchange.v2.log.FallbackMLog

#如果使用Logback, 需要改成
com.mchange.v2.log.MLog=com.mchange.v2.log.slf4j.Slf4jMLog

#FallbackMLog的日志级别, 使用其他日志框架时此项目无效
com.mchange.v2.log.FallbackMLog.DEFAULT_CUTOFF_LEVEL=com.mchange.v2.log.FallbackMLog.ALL

b.在程序中设置系统变量

//配置C3P0日志实现
Properties p = new Properties(System.getProperties());

p.put("com.mchange.v2.log.MLog", "com.mchange.v2.log.slf4j.Slf4jMLog");
p.put("com.mchange.v2.log.FallbackMLog.DEFAULT_CUTOFF_LEVEL", "INFO"); //日志实现不是FallbackMLog时.这个值不生效.

System.setProperties(p);

c.配置log4j的日志

log4j.logger.com.mchange.v2.c3p0=SEVERE

2. 配置

时间: 2025-01-04 11:07:47

C3P0的坑的相关文章

tomcat-dbcp数据库连接池配置以及使用时候的一些坑

一.数据库连接池 开发的时候经常会需要对数据库进行一些操作,比如说常见的增删改查之类的,当数据量小的时候,可以直接进行操作,但是当数据量增多的时候,每一次连接以及释放数据库都会耗费一定的时间,这个时候,可以采用数据库连接池来保持数据库的链接,减少连接数据库对程序带来的开销,并且可以减少数据库的压力,那么数据库链接池是一个什么样的东西呢?顾名思义,它是一个池子,池子里放的是对数据库的链接,打个比方鱼塘,就是养鱼的池子,想要吃鱼可以直接去捞,不用自己去亲自的买鱼苗养鱼等,数据库连接池就是放的对于数据

oracle 10G 表空间移动 , TNS 监听程序所有适用例程都无法建立新连接,service_died 12537, c3p0连接池参数

一次边学边干的oralce运维经历, 步步是坑啊 前几天经历了删除垃圾数据表.清理回滚表空间这些东西之后,又rebuild了索引, 感觉oracle的性能真是杠杠的. 系统又开始急速运行了. 客户经历了这事之后, 主动提出了把数据库切换到存储上面, 分配了200G. 开始干活啊, 1.先停止oracle 2.把你要移动的表空间文件复制到目的地例如:从d盘复制到E盘 3.登陆oracle sqlplus / as sysdba 4.然后执行 startup mount alter database

Spark踩坑记——数据库(Hbase+Mysql)转

转自:http://www.cnblogs.com/xlturing/p/spark.html 前言 在使用Spark Streaming的过程中对于计算产生结果的进行持久化时,我们往往需要操作数据库,去统计或者改变一些值.最近一个实时消费者处理任务,在使用spark streaming进行实时的数据流处理时,我需要将计算好的数据更新到hbase和mysql中,所以本文对spark操作hbase和mysql的内容进行总结,并且对自己踩到的一些坑进行记录. Spark Streaming持久化设计

JavaWeb-16 JDBC编程进阶(自定义数据源+开源数据源:DBCP、C3P0)

JavaWeb-16 JDBC编程进阶(自定义数据源+开源数据源:DBCP.C3P0) 一.调用存储过程 a.存储过程是什么? 将一组SQL组合在一起,类似于java代码里面的函数 现实当中SQL命令不可能一条一条调用. 目的为了打包存储调用. 放在服务器上,已经编译好. 买烟的例子(一次买一根还是买一包?) b.代码:如何操作? 这些代码可以用java代码类比. 在代码框架里可以调用多行sql语句. 在代码中可以定义结束符号. 以后接触需要输入代码的机会少,因为别人需要程序员做的就是提供给程序

Spring @Transactional踩坑记

@Transactional踩坑记 总述 ? Spring在1.2引入@Transactional注解, 该注解的引入使得我们可以简单地通过在方法或者类上添加@Transactional注解,实现事务控制. 然而看起来越是简单的东西,背后的实现可能存在很多默认规则和限制.而对于使用者如果只知道使用该注解,而不去考虑背后的限制,就可能事与愿违,到时候线上出了问题可能根本都找不出啥原因. 踩坑记 1. 多数据源 事务不生效 背景介绍 ? 由于数据量比较大,项目的初始设计是分库分表的.于是在配置文件中

Spring MVC+Hibernate JPA搭建的博客系统项目中所遇到的坑

标签: springmvc hibernate 2016年12月21日 21:48:035133人阅读 评论(0) 收藏 举报  分类: Spring/Spring MVC(6)  Hibernate(1)  版权声明:本文为博主原创文章,未经博主允许不得转载,如需转载,请注明文章出处为 http://www.54tianzhisheng.cn/,否则考虑法律追究责任,谢谢合作! https://blog.csdn.net/tzs_1041218129/article/details/53791

[转]Spark 踩坑记:数据库(Hbase+Mysql)

https://cloud.tencent.com/developer/article/1004820 Spark 踩坑记:数据库(Hbase+Mysql) 前言 在使用Spark Streaming的过程中对于计算产生结果的进行持久化时,我们往往需要操作数据库,去统计或者改变一些值. 最近一个实时消费者处理任务,在使用spark streaming进行实时的数据流处理时,我需要将计算好的数据更新到hbase和mysql中,所以本文对spark操作hbase和mysql的内容进行总结,并且对自己

MySQL中wait_timeout的坑

今天遇到了一个问题,一个项目,放到服务器(tomcat)下面的跑,但第二天,总是报错,项目还不能跑 com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure The last packet successfully received from the server was 1 milliseconds ago. The last packet sent successfully to

最近走过的坑 :slf4j 多个实现 hibernate 类型转换异常 bean依赖问题

最近走过的坑 slf4j 多个实现 主要是maven依赖中存在多个slf4j的实现类,在引入的依赖中排除对应的依赖就可以 <dependency> <groupId>xxxxxx</groupId> <artifactId>xxxxxx</artifactId> <version>1.0.0</version> <exclusions> <exclusion> <groupId>org.