﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-henry</title><link>http://www.blogjava.net/jeter123/</link><description /><language>zh-cn</language><lastBuildDate>Sun, 26 Apr 2026 03:58:11 GMT</lastBuildDate><pubDate>Sun, 26 Apr 2026 03:58:11 GMT</pubDate><ttl>60</ttl><item><title>c3p0</title><link>http://www.blogjava.net/jeter123/archive/2009/12/27/307443.html</link><dc:creator>jeter123</dc:creator><author>jeter123</author><pubDate>Sun, 27 Dec 2009 10:23:00 GMT</pubDate><guid>http://www.blogjava.net/jeter123/archive/2009/12/27/307443.html</guid><wfw:comment>http://www.blogjava.net/jeter123/comments/307443.html</wfw:comment><comments>http://www.blogjava.net/jeter123/archive/2009/12/27/307443.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jeter123/comments/commentRss/307443.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jeter123/services/trackbacks/307443.html</trackback:ping><description><![CDATA[<div align="center">
<h2><a title="C3P0错误APPARENT DEADLOCK!!!解决" href="http://www.pkwall.com/result/ab82160">C3P0错误APPARENT DEADLOCK!!!解决</a></h2>
</div>
<div style="height: 25px" align="center">1楼&nbsp;&nbsp;&nbsp;2008-10-18</div>
<br />
<div style="background: #f1f1f1; word-break: break-all; height: 80px">在使用C3P0的过程中出现了好多错误.最长见就是死锁,占用资源比较大. <br />
<br />
对于死锁问题http://japi.javaeye.com/blog/243702.找到了解决方案(不能完全保证,但在负载测试中,还没有出现问题) <br />
<br />
问题关键是参数的设置 <br />
<div class="quote_title">引用</div>
<div class="quote_div"><br />
&lt;!--JDBC的标准参数，用以控制数据源内加载的PreparedStatements数量。但由于预缓存的statements <br />
属于单个connection而不是整个连接池。所以设置这个参数需要考虑到多方面的因素。 <br />
如果maxStatements与maxStatementsPerConnection均为0，则缓存被关闭。Default: 0--&gt; <br />
&lt;property name="maxStatements"&gt;100&lt;/property&gt; <br />
<br />
&lt;!--maxStatementsPerConnection定义了连接池内单个连接所拥有的最大缓存statements数。Default: 0 --&gt; <br />
&lt;property name="maxStatementsPerConnection"&gt;&lt;/property&gt; <br />
</div>
<br />
<br />
解决的方法是: <br />
<div class="quote_title">引用</div>
<div class="quote_div">In hibernate.cfg.xml: <br />
&lt;property name="hibernate.c3p0.max_statements"&gt;0&lt;/property&gt;&nbsp; <br />
<br />
<br />
In c3p0.properties: <br />
c3p0.maxStatements=0 <br />
c3p0.maxStatementsPerConnection=100 <br />
</div>
<br />
来源于:http://forum.hibernate.org/viewtopic.php?p=2386237 <br />
http://forum.hibernate.org/viewtopic.php?t=947246&amp;start=0&amp;postdays=0&amp;postorder=asc&amp;highlight=apparent+deadlock+c3p0&amp;sid=6fcfab70cff3588bf010914df8dbbb90 <br />
<br />
http://www.mchange.com/projects/c3p0/index.html#c3p0_properties <br />
</div>
<div></div>
<div><script type="text/javascript"><!-- google_ad_client="pub-8425372463275196" ;
/* 728x15, 创建于 09-11-12 */ google_ad_slot="5873312074" ; google_ad_width="728;
google_ad_height" = 15;
//-->
</script><script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script><script>google_protectAndRun("ads_core.google_render_ad", google_handleError, google_render_ad);</script><ins style="border-right: medium none; padding-right: 0px; border-top: medium none; padding-left: 0px; visibility: visible; padding-bottom: 0px; margin: 0px; border-left: medium none; width: 728px; padding-top: 0px; border-bottom: medium none; position: relative; height: 15px"><ins style="border-right: medium none; padding-right: 0px; border-top: medium none; display: block; padding-left: 0px; visibility: visible; padding-bottom: 0px; margin: 0px; border-left: medium none; width: 728px; padding-top: 0px; border-bottom: medium none; position: relative; height: 15px"><iframe id="google_ads_frame2" style="left: 0px; position: absolute; top: 0px" name="google_ads_frame" marginwidth="0" marginheight="0" src="http://googleads.g.doubleclick.net/pagead/ads?client=ca-pub-8425372463275196&amp;output=html&amp;h=15&amp;slotname=5873312074&amp;w=728&amp;lmt=1261909225&amp;flash=9.0.124.0&amp;url=http%3A%2F%2Fwww.pkwall.com%2Fresult%2Fab82160&amp;dt=1261909225609&amp;prev_slotnames=2685311350&amp;correlator=1261909225484&amp;frm=0&amp;ga_vid=561801810.1261909226&amp;ga_sid=1261909226&amp;ga_hid=36106670&amp;ga_fc=0&amp;u_tz=480&amp;u_his=0&amp;u_java=1&amp;u_h=800&amp;u_w=1280&amp;u_ah=766&amp;u_aw=1280&amp;u_cd=32&amp;u_nplug=0&amp;u_nmime=0&amp;biw=990&amp;bih=610&amp;ref=http%3A%2F%2Fwww.baidu.com%2Fs%3Fwd%3Dc3p0%2520deadlock%26pn%3D10&amp;fu=0&amp;ifi=2&amp;dtd=47&amp;xpc=DvHc1l4TlV&amp;p=http%3A//www.pkwall.com" frameborder="0" width="728" scrolling="no" height="15" allowTransparency></iframe></ins></ins></div>
<div style="height: 25px" align="center">2楼&nbsp;&nbsp;LifeFree&nbsp;2009-05-04</div>
<br />
<div style="background: #f1f1f1; word-break: break-all; height: 80px">唉，早看到别人说要maxStatements设置为0，就是没怎么用c3p0，不知道具体情况。<br />
前段时间在一个事务里多加了条sql语句，原来并发没问题的，后来发现性能很低。查了很久才发现是死锁了，又搞了很久才想到是c3p0的问题。</div>
<img src ="http://www.blogjava.net/jeter123/aggbug/307443.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jeter123/" target="_blank">jeter123</a> 2009-12-27 18:23 <a href="http://www.blogjava.net/jeter123/archive/2009/12/27/307443.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>