- 浏览: 394508 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (760)
- 股票日志 (26)
- Selenium (0)
- selenium 2 环境的搭建 (1)
- 并发 (7)
- 框架开发 (1)
- 动态代理 (2)
- Struts2 (2)
- POI (2)
- jdk (3)
- maven (31)
- spring (35)
- mysql (31)
- 工作机会 (3)
- xtream (1)
- oracle dbms_metadata GET_DDL (0)
- SSI (1)
- DB (61)
- powermock (4)
- java 基础 (25)
- 多线程 (11)
- 高手 (2)
- java 底层 (2)
- 专业网站 (1)
- 开发联想 (1)
- 开发联想 (1)
- bat文件 (2)
- 清queue 语句 (1)
- 清queue 语句 (1)
- jquery (7)
- html5 (1)
- Jenkins (10)
- Linux (17)
- 工作issue (2)
- tomcat log (3)
- jvm (23)
- 项目细节 (0)
- oracle (41)
- 泛型 (3)
- 新知识点 (1)
- 数据库ddl 语句 (0)
- AQ (2)
- jms (0)
- 网络资源 (6)
- github (6)
- Easymock (1)
- Dom 解析XML (1)
- windows命令 (2)
- java (7)
- 正则表达式 (5)
- sequence (1)
- oracle 表meta信息 (1)
- 小工具技巧 (1)
- 辅助工具 (1)
- Junit (1)
- 泛型 generic (2)
- Java程序设计 (1)
- cglib (2)
- 架构师之路 (1)
- 数据库连接池 (5)
- c3p0 (1)
- eclipse使用 (1)
- oracle sql plus (1)
- 码农人生 (3)
- SVN (15)
- sqlplus (2)
- jsoup (1)
- 网络爬虫 (2)
- 新技能 (1)
- zookeeper (4)
- hadoop (1)
- SVNKIT (1)
- 从工具到知识点的整理 (1)
- log4j (13)
- 读文件 (0)
- 转义字符 (1)
- command (1)
- web service (3)
- 锁 (1)
- shell 脚本 (1)
- 遇到的错误 (2)
- tomcat (14)
- 房产 (5)
- bootstrap jquery ui (1)
- easyui (2)
- 个人征信 (1)
- 读写分离 (1)
- 备份 (1)
- rmi (6)
- webservice (1)
- JMX (4)
- 内存管理 (3)
- java设计 (1)
- timer (1)
- lock (2)
- concurrent (2)
- collection (1)
- tns (1)
- java基础 (15)
- File (1)
- 本机资源 (1)
- bat (1)
- windows (4)
- 数据结构 (3)
- 代码安全 (1)
- 作用域 (1)
- 图 (2)
- jvm内存结构 (1)
- 计算机思想 (1)
- quartz (6)
- Mongo DB (2)
- Nosql (4)
- sql (5)
- 第三方Java 工具 jar 项目 (2)
- drools (1)
- java swing (2)
- 调用console (1)
- runtime (1)
- process (1)
- swing (2)
- grouplayout (1)
- dubbo (0)
- bootstrap (0)
- nodejs (2)
- SVN hooks (1)
- jdbc (3)
- jdbc error (1)
- precedure (1)
- partition_key (1)
- active mq (1)
- blob (2)
- Eclipse (6)
- web server (1)
- bootstrapt (2)
- struts (1)
- ajax (1)
- js call back (1)
- 思想境界拓展 (1)
- JIRA (1)
- log (1)
- jaxb (3)
- xml java互相转换 (1)
- 装修 (2)
- 互联网 (2)
- threadlocal (3)
- mybatis (22)
- xstream (1)
- 排序 (1)
- 股票资源 (1)
- RPC (2)
- NIO (3)
- http client (6)
- 他人博客 (1)
- 代理服务器 (1)
- 网络 (2)
- web (1)
- 股票 (5)
- deadlock (1)
- JConsole (2)
- activemq (3)
- oralce (1)
- 游标 (1)
- 12月13日道富内部培训 (0)
- grant (1)
- 速查 (2)
- classloader (4)
- netty (4)
- 设计模式 (2)
- 缓存 (2)
- ehcache (2)
- framework (1)
- 内存分析 (2)
- dump (1)
- memory (2)
- 多高线程,并发 (1)
- hbase (2)
- 分布式系统 (1)
- socket (3)
- socket (1)
- 面试问题 (1)
- jetty (2)
- http (2)
- 源码 (1)
- 日志 (2)
- jni (1)
- 编码约定 (1)
- memorycache (1)
- redis (13)
- 杂谈 (1)
- drool (1)
- blockingqueue (1)
- ScheduledExecutorService (1)
- 网页爬虫 (1)
- httpclient (4)
- httpparser (1)
- map (1)
- 单例 (1)
- synchronized (2)
- thread (1)
- job (1)
- hashcode (1)
- copyonwriteArrayList (2)
- 录制声音 (1)
- java 标准 (2)
- SSL/TLS (1)
- itext (1)
- pdf (1)
- 钻石 (2)
- sonar (1)
- unicode (1)
- 编码 (4)
- html (1)
- SecurityManager (1)
- 坑 (1)
- Restful (2)
- svn hook (1)
- concurrentHashMap (1)
- 垃圾回收 (1)
- vbs (8)
- visual svn (2)
- power shell (1)
- wmi (3)
- mof (2)
- c# (1)
- concurrency (1)
- 劳动法 (1)
- 三国志游戏 (2)
- 三国 (1)
- 洪榕 (2)
- 金融投资知识 (1)
- motan (1)
- tkmybatis mapper (1)
- 工商注册信息查询 (1)
- consul (1)
- 支付业务知识 (2)
- 数据库备份 (1)
- 字段设计 (1)
- 字段 (1)
- dba (1)
- 插件 (2)
- PropEdit插件 (1)
- web工程 (1)
- 银行业知识 (2)
- 国内托管银行 (1)
- 数据库 (1)
- 事务 (2)
- git (18)
- component-scan (1)
- 私人 (0)
- db2 (14)
- alias (1)
- 住房 (1)
- 户口 (1)
- fastjson (1)
- test (6)
- RSA (2)
- 密钥 (1)
- putty (1)
- sftp (1)
- 加密 (1)
- 公钥私钥 (3)
- markdown (1)
- sweet (1)
- sourcetree (1)
- 好工具 (1)
- cmd (1)
- scp (1)
- notepad++ (1)
- ssh免密登录 (1)
- https (1)
- ssl (2)
- js (2)
- h2 (1)
- 内存 (2)
- 浏览器 (1)
- js特效 (1)
- io (1)
- 乱码 (1)
- 小工具 (1)
- 每周技术任务 (1)
- mongodb (7)
- 内存泄漏 (1)
- 码云 (2)
- 如何搭建java 视频服务器 tomcat (1)
- 资源 (1)
- 书 (1)
- 四色建模法 (1)
- 建模 (1)
- 配置 (1)
- 职位 (1)
- nginx (1)
- excel (1)
- log4j2 (2)
- 做菜 (1)
- jmap (1)
- jspwiki (1)
- activiti (1)
- 工作流引擎 (1)
- 安卓 (1)
- acitviti 例子 (1)
- 二维码 (1)
- 工作流 (1)
- powerdesign (2)
- 软件设计 (1)
- 乐观锁 (1)
- 王者荣耀 (1)
- session (2)
- token (5)
- cookie (4)
- springboot (24)
- jwt (2)
- 项目路径 (1)
- magicbook (1)
- requestType (1)
- json (2)
- swagger (1)
- eolinker (1)
- springdata (1)
- springmvc (1)
- controlleradvice (1)
- profile (1)
- 银行四要素 (1)
- 支付人员资源 (1)
- 支付渠道 (1)
- yaml (1)
- 中文编码 (1)
- mongo (2)
- serializable (1)
- 序列化 (1)
- zyd (1)
- unittest (1)
- 工具 (1)
- Something (1)
- 通达信 (1)
- protobuf (1)
- 算法 (1)
- springcloud (2)
- hikari (1)
- rocketmq (7)
- cachecloud (1)
- serfj (1)
- axure (1)
- lombok (1)
- 分布式锁 (1)
- 线程 (2)
- 同步代码块 (1)
- cobar (1)
- mq (1)
- rabbitmq (1)
- 定时执行 (1)
- 支付系统 (3)
- 唱歌 (1)
- elasticjob (1)
- 定时任务 (1)
- 界面 (1)
- flink (2)
- 大数据 (1)
- 接私活 (0)
- 内部培训 (2)
最新评论
-
dannyhz:
做股票从短线 试水,然后 慢慢发现 波段和 中期的故事可挖, ...
搭台唱戏 -
dannyhz:
http://developer.51cto.com/art/ ...
如何自己开发框架 它的注意点是什么
package com.xiangsoft.database.c3p0driver; import java.beans.PropertyVetoException; import java.sql.Connection; import java.sql.SQLException; import java.util.Properties; import com.mchange.v2.c3p0.ComboPooledDataSource; import com.mchange.v2.c3p0.PooledDataSource; public class DatasourceUtil { private String driverClass; private String jdbcUrl; private String user; private String password; private String keyHost; private int minPoolSize = 5; private int maxPoolSize = 20; private int acquireIncrement = 5; private int initialPoolSize = 5; private int maxIdleTime = 300; private int defaultRowPrefetch = 200; private int idleConnectionTestPeriod = 30; private String preferredTestQuery = "SELECT 1 FROM DUAL"; private int maxConnectionAge = 7200; private int maxStatementsPerConnection = 0; public ComboPooledDataSource dataSource; private Long readTimeout = 6000L;//120min - 20min public void initDatabase(){ dataSource = new ComboPooledDataSource(); Properties properties = new Properties(); properties.setProperty("defaultRowPrefetch", String.valueOf(defaultRowPrefetch)); //only oracle database use this property properties.setProperty("oracle.jdbc.ReadTimeout", String.valueOf(readTimeout * 1000)); dataSource.setProperties(properties); try { driverClass = "com.mysql.jdbc.Driver"; jdbcUrl = "jdbc:mysql://localhost:3306/quicklink"; user = "root"; password = "admin"; dataSource.setDriverClass(driverClass); dataSource.setJdbcUrl(jdbcUrl); dataSource.setUser(user); dataSource.setPassword(password); // the settings below are optional -- c3p0 can work with defaults dataSource.setInitialPoolSize(initialPoolSize); dataSource.setMinPoolSize(minPoolSize); dataSource.setMaxPoolSize(maxPoolSize); dataSource.setAcquireIncrement(acquireIncrement); dataSource.setMaxIdleTime(maxIdleTime); dataSource.setIdleConnectionTestPeriod(idleConnectionTestPeriod); dataSource.setPreferredTestQuery(preferredTestQuery); dataSource.setMaxConnectionAge(maxConnectionAge); dataSource.setMaxStatementsPerConnection(maxStatementsPerConnection); } catch (PropertyVetoException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public Connection getConnection() throws SQLException { Connection connection = dataSource.getConnection(); return connection; } public void cleanup() { try { if (dataSource != null) { dataSource.close(); } } catch(Exception e) { //LOGGER.error(e); } } public String toString() { StringBuilder builder = new StringBuilder(super.toString()); builder.append(",jdbcUrl=").append(jdbcUrl); builder.append(",user=").append(user); builder.append(",minSize=").append(minPoolSize); builder.append(",maxSize=").append(maxPoolSize); return builder.toString(); } public static void main(String[] args) { DatasourceUtil util = new DatasourceUtil(); util.initDatabase(); util.showConnPoolInfo(util.dataSource); Connection conn = null; try { conn = util.getConnection(); util.showConnPoolInfo(util.dataSource); conn = util.getConnection(); conn = util.getConnection(); conn = util.getConnection(); conn = util.getConnection(); util.showConnPoolInfo(util.dataSource); conn = util.getConnection(); util.showConnPoolInfo(util.dataSource); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ try { conn.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } util.showConnPoolInfo(util.dataSource); } } private static void showConnPoolInfo(ComboPooledDataSource pool){ PooledDataSource pds = (PooledDataSource) pool; if(null != pds){ try { System.out.println("------------c3p0连接池链接状态--------------"); System.out.println("c3p0连接池中 【 总共 】 连接数量:"+pds.getNumConnectionsDefaultUser()); System.out.println("c3p0连接池中 【 忙 】 连接数量:"+pds.getNumBusyConnectionsDefaultUser()); System.out.println("c3p0连接池中 【 空闲 】 连接数量:"+pds.getNumIdleConnectionsDefaultUser()); System.out.println("c3p0连接池中 【未关闭】 连接数量:"+pds.getNumUnclosedOrphanedConnectionsAllUsers()); } catch (SQLException e) { System.out.println("c3p0连接池异常!"); } } } }
发表评论
-
目前最快的数据库连接池hikari 原理
2018-09-19 15:30 1052https://blog.csdn.net/user_regi ... -
tomcat jdbc pool
2018-04-02 23:09 334http://wiki.jikexueyuan.com/pro ... -
MySQL的内存表
2017-12-05 14:33 340引用 “内存表”顾名 ... -
处理数据库百万级数据的注意点
2017-12-05 14:31 634引用 最近的项目需 ... -
mongodb客户端
2017-10-02 13:25 433D:\Lib\dev_tool\MongoVUE 1.5.3 -
db2 命令行模式操作详细
2017-09-20 09:43 404http://blog.csdn.net/sunrier/ar ... -
DB2 的表在删除字段后 表会挂起 需要执行 reorg命令
2017-09-19 17:24 1030DB2 的表在删除字段后 表会挂起 需要执行 reorg命令 ... -
jdbc访问mysql数据库急速
2017-09-09 15:20 382http://blog.csdn.net/whucyl/art ... -
DB2 报SQLCODE204,SQLSTATE42704错误解决方法 实际上是因为没有建alias
2017-07-13 17:36 3683jdbc链接DB2时报SQLCODE204,SQLSTATE4 ... -
mongo db 简单操作
2017-07-07 02:13 395引用 本地操作数据库 1,在第一个窗口 指定mongo的数据 ... -
外键的必要性
2017-06-26 11:22 426引用 平常需要使用外 ... -
为啥需要nosql
2017-03-13 17:32 400http://www.infoq.com/cn/news/20 ... -
Hbase 实例 java操作
2017-02-17 03:38 358http://blog.csdn.net/syb1881010 ... -
关于数据库HBase的分析 与传统数据库
2017-02-17 03:23 436http://www.ithao123.cn/content- ... -
存储过程的优点 并不一定完全只用sql来一条条执行
2017-02-08 15:26 374引用 存储过程天天用,关于使用存储过程的sql语句的争论也一直 ... -
oracle blob 字段的解析
2017-02-06 10:48 739oracle.sql.BLOB data = (oracle. ... -
查询执行过的sql语句的方法
2017-01-20 13:25 600select * from v$sql where lower ... -
有一篇关于手工连接池的文章
2017-01-13 14:30 375是一步步的代码优化的演化,收益匪浅 http://www.b ... -
检查一个对象的权限
2017-01-13 10:47 349先看这个对象在对象库里是否存在 select * from ... -
竖变横 oracle group by 方式
2017-01-10 11:43 720SELECT DCC.CONSTRAINT_NAME ...
相关推荐
C3P0提供了JMX(Java Management Extensions)支持,允许开发者通过JMX工具监控连接池的状态,如当前连接数、空闲连接数、借用和归还连接的统计等。 9. **与其他连接池的比较** C3P0与其他连接池(如HikariCP、...
3. 性能监控:通过内置的监控机制,开发者可以获取到连接池的运行状态,如当前连接数、空闲连接数、借用和归还连接的频率等,有助于进行性能调优。 4. 配置灵活性:C3P0提供了丰富的配置选项,如初始化连接数、最大...
- `hibernate.c3p0.min_size`: 最小连接数,即使连接池中当前没有活动连接,也会保持至少这么多的空闲连接。 - `hibernate.c3p0.timeout`: 连接超时时间(毫秒),超过这个时间未使用的连接将被回收。 - `hibernate....
2. **c3p0 jar包**: 使用c3p0连接池,需要引入c3p0的jar包,该包包含了c3p0的所有类和接口,使得我们可以方便地在项目中使用c3p0的功能。 ### c3p0的下载与集成 1. **下载**: c3p0的jar包可以在官方网站或者通过...
4. 资源监控:C3P0提供了一套内置的监控系统,可以通过JMX(Java Management Extensions)接口来查看和管理连接池的状态,例如当前连接数、已用连接数、空闲连接数等。 在C3P0的使用中,通常需要引入以下两个JAR...
- **兼容性**: c3p0 提供了兼容 JDBC 驱动管理和 `java.sql.DataSource` 视图的类来获取数据库连接。 - **透明处理**: 对数据源连接和 PreparedStatement 进行透明化处理,使传统驱动和未入池的数据源也能得到统一...
C3P0提供了内置的性能监控,可以通过配置启用日志或JMX来查看连接池的状态,包括当前连接数、等待连接的线程数、已关闭的连接数等。 5. **异常处理和故障恢复** C3P0具有自动检测失效连接并重连的功能,如果检测...
4. **连接池监控**: 提供了Web监控界面和MBean,可以实时查看连接池的状态,包括当前连接数、等待队列长度等信息,有助于问题排查和性能调优。 5. **事务支持**: 支持JDBC的事务管理,可以方便地进行事务控制。 **...
然后,需要创建一个工具类,用于获取数据库连接,工具类中需要使用C3P0的 ComboPooledDataSource 来获取数据库连接。 在使用C3P0数据库连接池连接数据库时,需要首先创建一个C3P0配置文件,配置文件中需要指定...
默认值为3,这意味着每当连接池检测到当前连接数低于最小连接数时,会一次性增加3个连接。合理设置此参数可以平衡资源占用与响应速度,避免资源过度消耗或响应延迟。 #### acquireRetryAttempts 定义了在获取连接...
C3P0提供了MBean(Managed Beans)支持,通过JMX(Java Management Extensions)可以对连接池进行实时监控,查看当前连接池的状态,如活动连接数、空闲连接数等。 6. **扩展性**: C3P0的设计允许开发者自定义...
同时,c3p0还支持JMX(Java Management Extensions),可以通过JMX监控连接池的状态,如当前连接数、空闲连接数等,有助于诊断和优化系统性能。 在c3p0-0.9.5.2.bin.zip中的`c3p0-0.9.5.2.bin.zip.txt`文件,可能是...
C3P0还允许你调整连接池的各种参数,例如最大连接数、最小连接数、测试连接的SQL语句等,以满足应用的需求。 C3P0的使用示例通常涉及从数据源获取连接,执行SQL操作,然后关闭连接。以下是一个简单的示例: ```...
4. 数据库连接池监控:C3P0提供了丰富的监控接口,可以监控连接池的状态,包括当前连接数、空闲连接数、活动连接数等,有助于进行性能调优和问题排查。 5. 支持多种数据库:C3P0不仅支持主流的MySQL、Oracle、...
### Java 数据库连接池 C3P0 使用及参数详解:支持重连 在Java应用程序中,数据库连接池是一项关键的技术,用于管理与数据库的连接,提高应用的性能和响应速度。C3P0是一个开放源代码的JDBC连接池实现,它在内部...
在使用C3p0时,我们需要配置相关的属性,例如初始化和最大连接数、获取连接超时时间等。 分页的核心在于SQL查询,通常使用LIMIT和OFFSET子句来实现。在MySQL中,LIMIT用于限制返回的结果集数量,OFFSET则用于指定从...
C3P0是一款广泛使用的开源JDBC连接池,它的全称是Comprehensive Connection Pooling Package。这个库的主要功能是提供数据库连接的管理与复用,从而优化数据库的性能和资源利用效率。C3P0 0.9.5.5是其的一个版本,此...
7. **性能监控**:C3P0提供了一套简单的性能监控API,可以通过日志或者JMX(Java Management Extensions)来监控连接池的状态,包括当前连接数、等待队列长度等信息,帮助开发者诊断和优化系统性能。 在实际使用中...
c3p0提供了许多配置选项,如最小连接数、最大连接数、检查连接的空闲时间等,可以根据实际需求调整以优化性能。 整合Spring和Hibernate时,我们需要在Spring的配置文件中定义数据源,这里就是使用c3p0作为数据源。...