升级到5.5后,java程序没有改动任何,现在在用连接池去连接mysql5.5的时候经常出现下面错误,驱动程序已经是最新的,数据库里面那个连接超时设置了8个小时,5.1  5.5 数据库配置基本是一直的,换了dbcp c3p0 proxml等都不行,代码不动 连接5.1的就不会出现下面错误。不知道怎么回事The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
        at sun.reflect.GeneratedConstructorAccessor20.newInstance(Unknown Source)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
        at com.mysql.jdbc.Util.handleNewInstance(Util.java:409)
        at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1118)
        at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:343)
        at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2308)
        at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2122)
        at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:774)
        at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:49)
        at sun.reflect.GeneratedConstructorAccessor18.newInstance(Unknown Source)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
        at com.mysql.jdbc.Util.handleNewInstance(Util.java:409)
        at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:375)
        at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:289)
        at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)
        at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582)
        at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:1148)
        at org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:106)
        at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)
        at org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider.getConnection(LocalDataSourceConnectionProvider.java:82)
        at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:446)
        ... 13 more
Caused by: java.net.ConnectException: Connection refused
        at java.net.PlainSocketImpl.socketConnect(Native Method)
        at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
        at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
        at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
        at java.net.Socket.connect(Socket.java:529)
        at java.net.Socket.connect(Socket.java:478)
        at java.net.Socket.<init>(Socket.java:375)
        at java.net.Socket.<init>(Socket.java:218)
        at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:256)
        at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:292)
        ... 30 more

解决方案 »

  1.   

    这是末学用的proxool的配置,您参考一下呢
    看看里边这三个参数 autoReconnect=true      proxool.test-before-use="true"      proxool.house-keeping-test-sql="select CURRENT_DATE" <Resource name="jdbc/paiwai" 
         auth="Container"      
         type="javax.sql.DataSource" 
         factory="org.logicalcobwebs.proxool.ProxoolDataSource"      
         proxool.alias="paiwai"      
         user="paiwai"    
         password="password"      
         delegateProperties="foo=1,bar=true" 
         proxool.jndi-name="mysqljndi"     
         proxool.driver-url="jdbc:mysql://localhost:3306/paiwai?useUnicode=true&amp;characterEncoding=UTF-8&amp;autoReconnect=true"      
         proxool.driver-class="com.mysql.jdbc.Driver"    
         proxool.house-keeping-sleep-time="300000"  
         proxool.maximum-active-time="900000" 
         proxool.prototype-count="3" 
         proxool.statistics="1m,15m,1d" 
         proxool.simultaneous-build-throttle="10" 
         proxool.minimum-connection-count="8" 
         proxool.maximum-connection-count="64"   
         proxool.test-before-use="true" 
         proxool.house-keeping-test-sql="select CURRENT_DATE" 
         proxool.trace="false" 
         proxool.verbose="true" 
      />   </Context>