- 浏览: 482253 次
- 性别:
- 来自: 湖南
文章分类
- 全部博客 (201)
- j2ee (43)
- oracle (9)
- mysql (7)
- db2 (1)
- j2se (3)
- spring (1)
- hibernate (3)
- struts (0)
- Berkeley DB (0)
- linux (60)
- Apache2+PHP+MYSQL (2)
- solr (15)
- svn (1)
- IntelliJ Idea (1)
- eclipse,myeclipse (4)
- ant (2)
- vim (8)
- IT生活 (4)
- 测试 (6)
- lucene (4)
- shell (1)
- nutch (18)
- thread (1)
- hadoop (5)
- mapreduce (0)
- Python (4)
- 硬件 (1)
- database (1)
- maven (1)
- 正则表达 (0)
- 互联网 (1)
最新评论
-
youngcoder:
good job
HTTP协议头部与Keep-Alive模式详解 -
javazdq:
受教了 解释的不错。
lucene创建索引高级特性和索引创建参数优化 -
josico:
有几个问题想问下楼主1. LinkedBlockingQueu ...
生产者-消费者-BlockingQueue -
annybz:
有没有关于 BlockingQueue和ConcurrentL ...
生产者-消费者-BlockingQueue -
uniquejava:
多谢,记录的很真实。
DB2 学习记录
个人新开博客,欢迎大家来访问,O(∩_∩)O谢谢。
数据库连接池配置:
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<property name="driverClass" value="${env.jdbc.driverClassName}"/>
<property name="jdbcUrl" value="${env.jdbc.url}"/>
<property name="user" value="${env.jdbc.username}"/>
<property name="password" value="${env.jdbc.password}"/>
<property name="acquireIncrement" value="3"/>
<property name="initialPoolSize" value="3"/>
<property name="minPoolSize" value="2"/>
<property name="maxPoolSize" value="50"/>
<property name="maxIdleTime" value="600"/>
<property name="idleConnectionTestPeriod" value="900"/>
<property name="maxStatements" value="100"/>
<property name="numHelperThreads" value="10"/>
</bean>
异常信息:
2012-04-17 20:41:08,290 [Timer-0] WARN async.ThreadPoolAsynchronousRunner - com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@15335332 -- APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tasks!
2012-04-17 21:08:05,952 [Timer-0] WARN async.ThreadPoolAsynchronousRunner - com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@15335332 -- APPARENT DEADLOCK!!! Complete Status:
Managed Threads: 10
Active Threads: 1
Active Tasks:
com.mchange.v2.resourcepool.BasicResourcePool$AsyncTestIdleResourceTask@71d1be4e (com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#9)
Pending Tasks:
com.mchange.v2.resourcepool.BasicResourcePool$AsyncTestIdleResourceTask@1252d43
Pool thread stack traces:
Thread[com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#9,5,main]
com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:560)
Thread[com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#2,5,main]
java.lang.Object.wait(Native Method)
com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:534)
Thread[com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0,5,main]
java.lang.Object.wait(Native Method)
com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:534)
Thread[com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#6,5,main]
java.lang.Object.wait(Native Method)
com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:534)
Thread[com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#5,5,main]
java.lang.Object.wait(Native Method)
com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:534)
Thread[com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#3,5,main]
java.lang.Object.wait(Native Method)
com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:534)
Thread[com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#8,5,main]
java.lang.Object.wait(Native Method)
com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:534)
Thread[com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1,5,main]
java.lang.Object.wait(Native Method)
com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:534)
Thread[com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#4,5,main]
java.lang.Object.wait(Native Method)
com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:534)
Thread[com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#7,5,main]
java.lang.Object.wait(Native Method)
com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:534)
2012-04-18 09:12:40,381 [Timer-0] WARN async.ThreadPoolAsynchronousRunner - com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@15335332 -- APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tasks!
解决方案:
在网上搜索了很长时间也没有结果,有说改 maxStatements 配置,也有改连接池大小的配置,但是都没有效果
问题重现也很难复现,源码分析也似乎其中的一个线程获取数据后,处理很长时间,然后其他线程都处于挂起状态,没有先存起来,以后继续分析,如果有谁解决了这个请给出方案,谢谢
发表评论
-
ifstat命令行统计网络流量
2012-06-05 15:31 5510关于统计网络流量的问题,我喜欢用命令行方式查看: ... -
CentOS 5: Make Command not Found
2012-05-22 17:50 1391个人博客:http://demi-panda.com ... -
Linux Deepin 安装永中 Office2012 个人版(更新)
2012-05-18 19:41 1522下面讲解如何在 Linux Deepin 上安装并使用永中 O ... -
Piwik 网站分析系统
2012-04-25 15:38 2952个人博客:http://demi-panda.com ... -
win7、ubuntu11.10双系统,win7重装后,如何找回linux
2012-03-25 18:40 1380个人博客:http://demi-panda.com ... -
stardict 词库安装
2012-03-22 11:32 1483下载词库文件以后直接在目录下执行 tar -xjvf ... -
ubuntu 64位 安装 永中Office
2012-03-21 11:07 0Ubuntu 64位默认是不能安装永中Office的,因为它不 ... -
is not in the sudoers file
2012-02-15 17:23 1082解决方案: 首需要切换到root身份 $su - (注意 ... -
is not in the sudoers file
2011-12-22 14:00 990解决方案: 首需要切换到root身份 $su - (注意 ... -
进程间通信IPC、LPC、RPC
2011-05-25 15:12 2060进程间通 ... -
ubuntu下virtualbox虚拟机XP里使用USB
2011-05-19 09:25 2493环境:ubuntu10.04下安装virualbox,虚拟 ... -
Shell 判断文件类型
2011-05-11 15:45 3698#!/bin/sh ... -
Linux wget 详解
2011-05-07 16:05 4673个人技术博客:http://dem ... -
linux curl命令详解
2011-04-30 15:36 5999个人技术博客:http://demi-panda.com ... -
解决Socket TIME_WAIT造成的服务器无法访问,Apache的KeepAlive和TCP/IP的TIME
2011-04-20 11:19 4568个人技术博客:http://demi-panda.com ... -
Ffmpeg快速命令使用
2011-03-24 15:52 1827Ffmpeg使用语法 ffmpeg [[opt ... -
Linux远程备份工具Rsync使用案例
2011-02-24 10:31 3522个人技术博客:http://dem ... -
linux下的命令行下转换媒体格式工具FFMPEG详解
2011-02-15 17:25 6661在windows下有格式工厂之 ... -
Linux下tar bz gz等压缩包的压缩和解压
2011-02-12 12:58 1421解压 就用得挺熟 ... -
后台执行命令
2011-01-21 17:29 1439后台执行命令 当你在终端或控制台工作时,可能不希望由于运行一 ...
相关推荐
使用连接池,如C3P0,可以有效地复用已存在的数据库连接,降低系统资源消耗,提高系统的响应速度。 C3P0的主要特点包括: 1. **连接测试**:C3P0提供了多种连接测试方式,如ping、isValid()等,确保获取到的数据库...
下面我们将详细探讨`DBUtil` 的使用方法以及C3P0连接池的工作原理。 1. **C3P0简介** C3P0是由Miguel Grinberg创建的一个开源项目,它提供了数据库连接池的实现。C3P0的主要功能包括:自动管理数据库连接的创建和...
总结起来,"4.mysql dbutils c3p0 缓存池工具类"这个主题涉及了如何在Java项目中使用MySQL数据库,以及如何通过DBUtils和C3P0来简化数据库操作和管理数据库连接。DBUtils提供了一套实用的数据库操作API,而C3P0则...
C3P0是一个纯Java编写的持久层框架,它可以显著提高对数据库连接的管理和使用效率。C3P0的核心类`ComboPooledDataSource`提供了一种高效的连接池实现。 #### 二、C3P0连接池的使用方法 ##### 1. 导入所需Jar包 在...
c3p0连接mysql8.0.11需要外加mchange-commons-java-0.2.15.jar,maven的pom.xml 中配置了,但是项目中报找不到mchange-commons-java-0.2.15.jar这个文件,可以把此文件下载后,然后解压后把对应的jar包放到maven 库...
使用这些库时,开发者需要在项目的类路径中包含这些JAR文件,然后通过配置文件(如`c3p0.properties`)设置C3p0的参数,如最小连接数、最大连接数、获取连接超时等。接着,在DBUtils的帮助下,可以编写简洁的代码来...
本项目“学生信息管理系统”采用MVC(Model-View-Controller)设计模式,结合MYSQL数据库、Servlet技术、C3P0连接池、DBUtils工具类以及Bootstrap前端框架,构建了一个完整的后台管理系统,实现了对学生信息的增删改...
2. **程序维护方面**:需要确保每个涉及数据库操作的JSP页面能够正确关闭连接,这增加了出错的可能性。 3. **系统安全方面**:直接将数据库操作嵌入JSP页面中容易遭受攻击。 #### 2 连接池技术 为了解决上述问题,...
在这个教程中,我们将会深入探讨如何在Hibernate 4.3.6版本中结合Java Persistence API (JPA)进行开发,以及如何使用数据连接池c3p0来优化数据库连接的管理。 首先,让我们了解Hibernate的基本概念。ORM框架的核心...
标题中的“eclipse4.5.0的STS插件”指的是Spring Tool Suite (STS) 的...通过这些jar包,开发者可以轻松构建基于Spring的系统,包括使用AOP、数据库连接池c3p0以及日志记录工具log4j,同时还能够方便地进行数据库交互。
为了管理数据库连接,使用了c3p0连接池。首先将c3p0的jar包添加到项目类路径中。接着,在Spring配置文件中,我们通过`<context:property-placeholder>`标签引入外部的`jdbc.properties`文件,用于存储数据库连接信息...
通过使用c3p0连接池管理数据库连接,可以有效地复用连接,提高效率;DbUtils则简化了数据库操作,减少了出错的可能性;而JUnit确保了代码质量;数据库驱动jar则使得与不同数据库的兼容性成为可能。 在实际项目中,...
C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,提供了比DBCP更完善的连接池管理功能,如空闲连接检测、连接有效性检查等。C3P0还支持自动扩展,当数据库连接达到预设上限时,会尝试创建更多连接。这使得...
使用时需导入mysql,c3p0架包 随着社会的迅速发展,企业也呈现飞跃式的发展,而且每年都有不同的要求。企业的信息量也非常的大,数据可能经常性的发生更换,原来手工的管理模式早已经满足不了现在社会的需求。而且...
此外,随着Java技术的发展,现在推荐使用JDBC 4.0及以上版本的驱动,例如Apache的DBCP或C3P0连接池,这些驱动提供了更好的性能和稳定性,而且无需手动加载驱动,可以直接使用`DriverManager.getConnection()`。...
4. **ConnectionPool**:DBUtils支持数据库连接池,如DBCP、C3P0等,以提高数据库操作的性能。连接池可以有效地管理数据库连接,避免了频繁创建和关闭连接的开销。 5. **ExceptionTranslator**:DBUtils包含了对...
6. **c3p0**:C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。C3P0提供了一些高级特性,如自动关闭空闲连接、监控连接健康状况等。 7. **commons-io**:Apache Commons ...
在这个资料中,c3p0-0.9.1.2.jar文件就是一种常用的数据库连接池实现库,它提供了一套完整的连接池管理机制,支持自动获取、释放连接以及健康检查等功能。 DBUtil.java文件通常包含数据库操作的通用工具类,它封装...
在此项目中,使用C3p0连接池管理和维护数据库连接,这不仅提高了连接的利用效率,减少了资源消耗,也提升了系统对数据库访问的性能。C3p0作为一个功能强大的开源JDBC连接池,能够提供自动重连、线程安全等功能,是...
在技术主要对数据库连接池组件进行的更换,采用了c3p0连接池组件,有效解决了由于同时运行多个jeecms项目时导致的jar包冲突问题。 以下是JEECMS v2.4.1 beta版更新的详细内容: 1、修正了后台用户密码修改的问题...