ï»??xml version="1.0" encoding="utf-8" standalone="yes"?>欧美日韩精品在线观看,欧美综合欧美视频,99精品国产在热久久http://www.aygfsteel.com/stevenjohn/category/54640.html那些青春的岁æœ?/description>zh-cnMon, 15 Dec 2014 12:53:45 GMTMon, 15 Dec 2014 12:53:45 GMT60 解决 c3p0 å’?MySQL 集成情况下,˜qžæŽ¥é•¿æ—¶é—´é—²¾|®åŽé‡æ–°ä½¿ç”¨æ—¶æŠ¥é”™çš„问题http://www.aygfsteel.com/stevenjohn/archive/2014/12/15/421421.htmlabinabinMon, 15 Dec 2014 12:15:00 GMThttp://www.aygfsteel.com/stevenjohn/archive/2014/12/15/421421.htmlhttp://www.aygfsteel.com/stevenjohn/comments/421421.htmlhttp://www.aygfsteel.com/stevenjohn/archive/2014/12/15/421421.html#Feedback0http://www.aygfsteel.com/stevenjohn/comments/commentRss/421421.htmlhttp://www.aygfsteel.com/stevenjohn/services/trackbacks/421421.htmlMySQL 的默认设¾|®ä¸‹åQŒå½“一个连接的½Iºé—²æ—‰™—´­‘…过8ž®æ—¶åŽï¼ŒMySQL ž®×ƒ¼šæ–­å¼€è¯¥è¿žæŽ¥ï¼Œè€?c3p0 ˜qžæŽ¥æ± åˆ™ä»¥äؓ该被断开的连接依然有效。在˜q™ç§æƒ…况下,如果客户端代码向 c3p0 ˜qžæŽ¥æ± è¯·æ±‚连接的话,˜qžæŽ¥æ± å°±ä¼šæŠŠå·²ç»å¤±æ•ˆçš„连接返回给客户端,客户端在使用该失效连接的时候即抛出异常ã€?/span>
解决˜q™ä¸ªé—®é¢˜çš„办法有三种åQ?/span>
1. 增加 MySQL çš?wait_timeout 属性的倹{€?/span>
修改 /etc/mysql/my.cnf æ–‡äšgåQŒåœ¨ [mysqld] 节中讄¡½®åQ?/span>
# Set a connection to wait 8 hours in idle status.
wait_timeout 
= 86400
2. 减少˜qžæŽ¥æ± å†…˜qžæŽ¥çš„生存周期,使之ž®äºŽä¸Šä¸€™å¹ä¸­æ‰€è®„¡½®çš?wait_timeout 的倹{€?/span>
修改 c3p0 的配¾|®æ–‡ä»Óž¼Œè®„¡½®åQ?/span>
# How long to keep unused connections around(in seconds)
# Note: MySQL times out idle connections after 
8 hours(28,800 seconds)
# so ensure this value is below MySQL idle timeout
cpool.maxIdleTime
=25200
åœ?Spring 的配¾|®æ–‡ä»¶ä¸­åQ?/span>
<bean id="dataSource"
    class
="com.mchange.v2.c3p0.ComboPooledDataSource">
    
<property name="maxIdleTime" value="${cpool.maxIdleTime}" />
    
<!-- other properties -->
</bean>
3. 定期使用˜qžæŽ¥æ± å†…çš„è¿žæŽ¥ï¼Œä½¿å¾—å®ƒä»¬ä¸ä¼šå› äØ“é—²ç½®­‘…时而被 MySQL æ–­å¼€ã€?/span>
修改 c3p0 的配¾|®æ–‡ä»Óž¼Œè®„¡½®åQ?/span>
# Prevent MySQL raise exception after a long idle time
cpool.preferredTestQuery
='SELECT 1'
cpool.idleConnectionTestPeriod
=18000
cpool.testConnectionOnCheckout
=true
修改 Spring 的配¾|®æ–‡ä»Óž¼š
<bean id="dataSource"
    class
="com.mchange.v2.c3p0.ComboPooledDataSource">
    
<property name="preferredTestQuery"
        value
="${cpool.preferredTestQuery}" />
    
<property name="idleConnectionTestPeriod"
        value
="${cpool.idleConnectionTestPeriod}" />
    
<property name="testConnectionOnCheckout"
        value
="${cpool.testConnectionOnCheckout}" />
    
<!-- other properties -->
</bean>

附:以下 awk 脚本可以用以ž®?c3p0.properties æ–‡äšg中的属性设¾|®è{换成ä¸?applicationContext.xml ä¸?数据库连接池 DataSource 所需çš?XML 元素形式ã€?/span>
#!/bin/awk

BEGIN {
    FS
="=";
}
{
    
if (NF == 2) {
        
if ((x=index($1, ".")) > 0) {
            property_name 
= substr($1, x+1, length($1));
        } 
else {
            property_name 
= $1;
        }
        printf
("<property name="%s" value="${%s}"/> ", property_name, $1);
    }
}


]]>
Ö÷Õ¾Ö©Öë³ØÄ£°å£º ±ö´¨ÏØ| ²©ÀÖÊÐ| ãäÁêÏØ| ÄÂÀâÊÐ| ÑôȪÊÐ| ×ÊÔ´ÏØ| ÇɼÒÏØ| ³¯ÑôÏØ| Ëç½­ÏØ| ̨ÖÐÏØ| ³¯ÑôÇø| Á¬³ÇÏØ| ·î»¯ÊÐ| »á¶«ÏØ| °ÍÌÁÏØ| ãþ´¨ÏØ| Ë«°ØÏØ| ÖÐÄþÏØ| Î÷ÎÚÖéÄÂÇ߯ì| ¸ß±®µêÊÐ| Ϋ·»ÊÐ| ÔªÊÏÏØ| ÎÚÀ¼ÏØ| ʲÚúÊÐ| ¼ÎÐËÊÐ| ÓñÊ÷ÏØ| »ÝÖÝÊÐ| ÂÃÓÎ| ¼ªÊ×ÊÐ| Ë«³ÇÊÐ| ÐÂÌïÏØ| ÇåË®ºÓÏØ| ¹ãºÓÏØ| ëøÖÝÊÐ| ²ÔÏªÏØ| ´ó·½ÏØ| ÍÍÃÅÇø| ³ö¹ú| ÒËÀ¼ÏØ| ºÍÆ½Çø| Ó¢¼ªÉ³ÏØ|