天行健
《周易》曰:
天行健,君子以自强不息(乾卦)
地势坤,君子以厚德载物(坤卦)
导航
BlogJava
首页
新随笔
联系
聚合
管理
统计
随笔 - 119
文章 - 4
评论 - 92
引用 - 0
公告
对家人好点,对朋友好点,对自己好点
bnlovebn@21cn.com
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(5)
给我留言
查看公开留言
查看私人留言
随笔分类
AJAX(2)
(rss)
DataBase(18)
(rss)
Hibernate(6)
(rss)
JAVA (24)
(rss)
JS(11)
(rss)
JSP(18)
(rss)
linux(5)
(rss)
SOA(1)
(rss)
Spring(7)
(rss)
Struts(6)
(rss)
webserver(2)
(rss)
WML(1)
(rss)
其它(25)
(rss)
系统设计(5)
(rss)
随笔档案
2011年6月 (3)
2010年4月 (1)
2008年12月 (1)
2008年9月 (2)
2008年6月 (4)
2008年5月 (8)
2008年4月 (3)
2008年3月 (5)
2007年11月 (5)
2007年10月 (2)
2007年9月 (1)
2007年7月 (15)
2007年6月 (3)
2007年5月 (8)
2007年4月 (3)
2007年3月 (1)
2007年2月 (6)
2007年1月 (5)
2006年12月 (15)
2006年11月 (5)
2006年10月 (3)
2006年9月 (3)
2006年7月 (2)
2006年6月 (14)
2006年4月 (1)
文章分类
JAVA文章(3)
(rss)
JSP文章
(rss)
其它(1)
(rss)
技术文章
(rss)
文章档案
2011年6月 (1)
2006年9月 (1)
2006年6月 (1)
2006年4月 (1)
搜索
最新评论
1. re: 无法使用此产品的安装源,请确认安装源存在,并且您可以访问它
两种方法都用了,都不行呀
--龙
2. re: 系统启动时出现错误:应用程序-特定 权限设置未将 COM 服务器应用程序(CLSID 为 {BA126AD1-2166-11D1-B1D0-00805FC1270E})的 本地 激活 权限授予用户 NT AUTHORITY\NETWORK SERVICE 的解决.
DCOM
--dacan
3. re: 关于Myeclipse configuration center中software中的personal sites中添加的插件无法删除的解决
删除 add site history :
D:\Genuitec是安装目录
D:\Genuitec\Common\configuration\bookmark.properties
--g_man1990
4. re: Cannot find bean under name org.apache.struts.taglib.html.BEAN[转][未登录]
多谢
--zw
5. re: 解决JS页面跳转ie,firefox,opera不兼容问题[未登录]
在opera还是不能跳转
--vincent
阅读排行榜
1. Hibernate SQL方言 (hibernate.dialect)(49462)
2. 几种js实现的动态多文件上传(32245)
3. java创建文件夹,文件;删除文件夹,文件(30119)
4. 无法使用此产品的安装源,请确认安装源存在,并且您可以访问它(29997)
5. js截取字符串的方法(19745)
评论排行榜
1. [linux]警告:检测到时钟错误。您的创建可能是不完整的。(13)
2. 无法使用此产品的安装源,请确认安装源存在,并且您可以访问它(13)
3. 几种js实现的动态多文件上传(12)
4. Cannot find bean under name org.apache.struts.taglib.html.BEAN[转](7)
5. 在用MyEclipse发布应用,构建路径的问题(7)
APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tasks
最近orcale数据只有一台可以服务,导致hibernate 连接数据库每个13分钟就会报“APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tasks”的错误.
原因是 hibernate 使用c3p0连接orcale数据后不会释放 , c3p0的最大连接数为100,但显然c3p0有Bug,导致数据库连接池不够用,导致进程锁死。
后换Proxool后,观察正常。
下面转引其它网友文章说明c3p0 、 Proxool、
dbcp
的区别
1
<!--
JDBC驱动程序
-->
2
<
property
name
="connection.driver_class"
>
com.mysql.jdbc.Driver
</
property
>
<
property
name
="connection.url"
>
jdbc:mysql://localhost:3306/struts?useUnicode=true
&characterEncoding
=GBK
</
property
>
<!--
数据库用户名
-->
3
<
property
name
="connection.username"
>
root
</
property
>
<!--
数据库密码
-->
上面的一段配置,在
c3p0
和
dbcp
中,都是必需的,因为hibernate会根据上述的配置来生成connections,再交给
c3p0
或
dbcp
管理.
1
C3P0
只需在hibernate.cfg.xml中加入
1
<
property
name
="c3p0.min_size"
>
5
</
property
>
2
<
property
name
="c3p0.max_size"
>
30
</
property
>
3
<
property
name
="c3p0.time_out"
>
1800
</
property
>
4
<
property
name
="c3p0.max_statement"
>
50
</
property
>
5
还有在classespath中加入
c3p0
-0.8.4.5.jar
2
dbcp
在hibernate.cfg.xml中加入
1
<
property
name
="dbcp.maxActive"
>
100
</
property
>
2
<
property
name
="dbcp.whenExhaustedAction"
>
1
</
property
>
3
<
property
name
="dbcp.maxWait"
>
60000
</
property
>
4
<
property
name
="dbcp.maxIdle"
>
10
</
property
>
5
6
<
property
name
="dbcp.ps.maxActive"
>
100
</
property
>
7
<
property
name
="dbcp.ps.whenExhaustedAction"
>
1
</
property
>
8
<
property
name
="dbcp.ps.maxWait"
>
60000
</
property
>
9
<
property
name
="dbcp.ps.maxIdle"
>
10
</
property
>
10
还有在classespath中加入commons-pool-1.2.jar 和commons-
dbcp
-1.2.1.jar.
3 proxool
由于数据库connection在较长时间没有访问下会自动断开连接,导致浏览出错,增加proxool作为数据库pool。它有自动连接功能。
1)、从
http://proxool.sourceforge...
下载proxool,释放proxool.jar到WEB-INF/lib
2)、在hibernate.cfg.xml中增加:
1
<
property
name
="hibernate.proxool.pool_alias"
>
dbpool
</
property
>
2
<
property
name
="hibernate.proxool.xml"
>
proxool.xml
</
property
>
3
<
property
name
="connection.provider_class"
>
org.hibernate.connection.ProxoolConnectionProvider
</
property
>
4
3)、在与hibernate.cfg.xml同级目录(src根目录下)增加proxool.xml文件:
1
<?
xml version="1.0" encoding="utf-8"
?>
2
<!--
the proxool configuration can be embedded within your own application's.
3
Anything outside the "proxool" tag is ignored.
-->
4
<
something-else-entirely
>
5
<
proxool
>
6
<
alias
>
dbpool
</
alias
>
7
<!--
proxool只能管理由自己产生的连接
-->
8
<
driver-url
>
9
jdbc:mysql://127.0.0.1:3306/wlsh?characterEncoding=GBK
&useUnicode
=true
&autoReconnect
=true
</
driver-url
>
10
<
driver-class
>
com.mysql.jdbc.Driver
</
driver-class
>
11
<
driver-properties
>
12
<
property
name
="user"
value
="root"
/>
13
<
property
name
="password"
value
="123456"
/>
14
</
driver-properties
>
15
<!--
proxool自动侦察各个连接状态的时间间隔(毫秒),侦察到空闲的连接就马上回收,超时的销毁
-->
16
<
house-keeping-sleep-time
>
90000
</
house-keeping-sleep-time
>
17
<!--
最少保持的空闲连接数
-->
18
<
prototype-count
>
5
</
prototype-count
>
19
<!--
允许最大连接数,超过了这个连接,再有请求时,就排在队列中等候,最大的等待请求数由maximum-new-connections决定
-->
20
<
maximum-connection-count
>
100
</
maximum-connection-count
>
21
<!--
最小连接数
-->
22
<
minimum-connection-count
>
10
</
minimum-connection-count
>
23
</
proxool
>
24
</
something-else-entirely
>
25
于在hibernate3.0中,已经不再支持dbcp了,hibernate的作者在hibernate.org中,明确指出在实践中发现dbcp有 BUG,在某些种情会产生很多空连接不能释放,所以抛弃了对dbcp的支持。至于c3p0,有评论说它的算法不是最优的,因为网上查资料得知:有网友做了一个实验,在同一项目中分别用了几个常用的连接池,然后测试其性能,发现c3p0占用资源比较大,效率也不高。所以,基于上述原因,proxool不少行家推荐使用,而且暂时来说,是负面评价是最少的一个。在三星中也有项目是用proxool的。从性能和出错率来说,proxool稍微比前两种好些。C3P0,稳定性似乎不错,在这方面似乎有很好的口碑。至于性能,应该不是最好的,算是中规中矩的类型。
Proxool的口碑似乎很好,不大见到负面的评价,从官方资料上来看,有许多有用的特性和特点,也是许多人推荐的。
posted on 2011-06-12 13:51
重归本垒(Bing)
阅读(5240)
评论(0)
编辑
收藏
所属分类:
JAVA
、
JSP
、
DataBase
、
Hibernate
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
知识库
C++博客
博问
管理
相关文章:
SWT应用程序的组成
关于Myeclipse configuration center中software中的personal sites中添加的插件无法删除的解决
APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tasks
Hibernate中如何使用count(*)取得表中记录总数
error:java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource
在你的struts应用中施展部分AJAX魔法(翻译)[转]
在Servlet与JSP中取得当前文件所在的相对路径与绝对路径(路径相关)
Struts+FCKeditor修改读取的html文本
FCKeditor2.4 JSP版使用[转]
JAVA 如何创建\删除\修改\复制目录及文件 3in1[转]