查看了Mysql的文档,以åŠConnector/J的文档以åŠåœ¨¾U¿è¯´æ˜Žå‘玎ͼŒå‡ºçް˜q™ç§å¼‚å¸¸çš„åŽŸå› æ˜¯åQ?/p>
MysqlæœåŠ¡å™¨é»˜è®¤çš„“wait_timeout”æ˜?ž®æ—¶åQŒä¹Ÿž®±æ˜¯è¯´ä¸€ä¸ªconnection½Iºé—²‘…过8ä¸ªå°æ—Óž¼ŒMysqlž®†è‡ªåЍæ–开该connection。这ž®±æ˜¯é—®é¢˜çš„æ‰€åœ¨ï¼Œåœ¨C3P0 poolsä¸çš„connections如果½Iºé—²‘…过8ž®æ—¶åQŒMysqlž®†å…¶æ–å¼€åQŒè€ŒC3P0òq¶ä¸çŸ¥é“该connectionå·²ç»å¤±æ•ˆåQŒå¦‚果这时有Clientè¯äh±‚connectionåQŒC3P0ž®†è¯¥å¤±æ•ˆçš„Connectionæä¾›¾l™ClientåQŒå°†ä¼šé€ æˆä¸Šé¢çš„异常ã€?/p>
解决的方法有3¿U:
å½“ç„¶æœ€å¥½çš„åŠžæ³•æ˜¯åŒæ—¶ç»¼åˆä‹É用上˜q?¿U方法,下颞®±DBCPå’ŒC3P0分别åšä¸€è¯´æ˜ŽåQŒå‡è®¾wait_timeout为默认的8ž®æ—¶
DBCPå¢žåŠ ä»¥ä¸‹é…置信æ¯:
RDBMS | 方言 |
---|---|
DB2 | org.hibernate.dialect.DB2Dialect |
DB2 AS/400 | org.hibernate.dialect.DB2400Dialect |
DB2 OS390 | org.hibernate.dialect.DB2390Dialect |
PostgreSQL | org.hibernate.dialect.PostgreSQLDialect |
MySQL | org.hibernate.dialect.MySQLDialect |
MySQL with InnoDB | org.hibernate.dialect.MySQLInnoDBDialect |
MySQL with MyISAM | org.hibernate.dialect.MySQLMyISAMDialect |
Oracle (any version) | org.hibernate.dialect.OracleDialect |
Oracle 9i/10g | org.hibernate.dialect.Oracle9Dialect |
Sybase | org.hibernate.dialect.SybaseDialect |
Sybase Anywhere | org.hibernate.dialect.SybaseAnywhereDialect |
Microsoft SQL Server | org.hibernate.dialect.SQLServerDialect |
SAP DB | org.hibernate.dialect.SAPDBDialect |
Informix | org.hibernate.dialect.InformixDialect |
HypersonicSQL | org.hibernate.dialect.HSQLDialect |
Ingres | org.hibernate.dialect.IngresDialect |
Progress | org.hibernate.dialect.ProgressDialect |
Mckoi SQL | org.hibernate.dialect.MckoiDialect |
Interbase | org.hibernate.dialect.InterbaseDialect |
Pointbase | org.hibernate.dialect.PointbaseDialect |
FrontBase | org.hibernate.dialect.FrontbaseDialect |
Firebird | org.hibernate.dialect.FirebirdDialect |